我有一个名为mxn
的{{1}}矩阵。对于arr
中的每个元素,我想查看该元素的r个单位(包括对角线)内的所有元素(即子矩阵)。例如如果r = 1,则子矩阵应为当前像素周围的3x3正方形。子矩阵不一定必须是正方形(例如,所涉及的元素是否在矩阵的边缘就不必如此)。
我尝试了以下方法,但效果有限:
arr
答案 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])