如何为每个元素获取mxn矩阵中最接近的r个元素

时间:2020-06-08 16:13:05

标签: python numpy opencv

我有一个名为mxn的{​​{1}}矩阵。对于arr中的每个元素,我想查看该元素的r个单位(包括对角线)内的所有元素(即子矩阵)。例如如果r = 1,则子矩阵应为当前像素周围的3x3正方形。子矩阵不一定必须是正方形(例如,所涉及的元素是否在矩阵的边缘就不必如此)。

我尝试了以下方法,但效果有限:

arr

1 个答案:

答案 0 :(得分:1)

r = 1
for i in range(m):
    for j in range(n):
        start_y = i-r
        end_y = i+ r + 1

        start_x = j - r
        end_x = j + r + 1

        if start_y < 0:
            start_y = 0

        elif end_y >= m:
            end_y = m

        if start_x < 0:
            start_x = 0

        elif end_x >= n:
            end_x = n

        print(arr[start_y: end_y, start_x: end_x])
相关问题