【发布时间】:2020-06-08 16:13:05
【问题描述】:
我有一个名为arr 的mxn 矩阵。对于arr 中的每个元素,我想查看该元素的 r 个单位(包括对角线)内的所有元素(即子矩阵)。例如如果 r=1,则子矩阵应该是围绕当前像素的 3x3 正方形。子矩阵不一定必须是正方形(例如,如果所讨论的元素位于矩阵的边缘,则不需要)。
我尝试了以下方法,但成功有限:
r=1
for i in range(m):
for j in range(n):
print(arr[max(0,i-r-1):min(i+r+1,m), max(0,j-r-1):min(j+r+1,n)])
【问题讨论】:
-
当它靠近边缘时,您希望它显示什么?您的切片大小可能超过数组大小
-
@DouglasFerreira 刚刚更新以包含该内容。它仍然应该显示一个子矩阵,只是不是正方形。