0
我有一个numpy二维数组,我想运行一个函数,检查周围像素值是否低于给定值(起始值)。如果这是我试图运行这个像素和第一个值的递归函数 它适用于小数组,但对于一个大的我有内存错误。 我想知道是否有更好的方法来做到这一点。 结果我试图让numpy 2d数组满足这个标准的值。numpy二维数组递归
代码:
def check_neighbours(point_position, arr, water_level):
locs = [[-1, -1], [-1, 0], [-1, 1], [0, -1],
[0, 1], [1, 1], [1, -1], [1, 0]]
if point in self.checked_cells:
return True
self.checked_cells.append(point)
neighbours = [self.get_locs(x, point) for x in locs]
for i in neighbours:
n_point = arr[i[0], i[1]]
if n_point <= water_level:
check_neighbours(i, arr, water_level)
check_neigbours([10,20], 2darray, 70)
请发布错误信息(完整追溯) – user7138814
什么是“自我”? 'self.get_locs'? – hpaulj
考虑对'checked_cells'使用'dtype = bool'数组(使用'numpy.zeros'预分配,其维度至少与'2darray'一样大)。 – wrwrwr