python 用二维移动窗口遍历求二维矩阵的局部最大值的坐标
时间: 2023-04-02 14:05:04 浏览: 175
Python获取二维矩阵每列最大值的方法
5星 · 资源好评率100%
可以使用numpy库中的函数来实现,具体代码如下:
```python
import numpy as np
def local_max(matrix, window_size):
# 定义移动窗口的步长
stride = 1
# 定义矩阵的行数和列数
rows, cols = matrix.shape
# 定义局部最大值的坐标列表
max_positions = []
# 遍历矩阵
for i in range(, rows - window_size + 1, stride):
for j in range(, cols - window_size + 1, stride):
# 获取当前窗口内的子矩阵
window = matrix[i:i+window_size, j:j+window_size]
# 判断子矩阵是否为局部最大值
if np.all(window == np.max(window)):
# 记录局部最大值的坐标
max_positions.append((i+window_size//2, j+window_size//2))
return max_positions
```
调用该函数,可以得到二维矩阵的局部最大值的坐标列表。
阅读全文