Numpy设定范围小于
问题描述:
def updatemap(depthmap, p1, p2, value):
maps = depthmap[0:580,p1[0]:p2[0]]
maps[maps < value] = value
depthmap[0:580,p1[0]:p2[0]] = maps
这是我现在这样做的。但它需要我复制范围,然后设置值小于的范围,然后将其复制回来。复制会让它变慢。有没有我可以使用的语法?Numpy设定范围小于
答
假设depthmap
是NumPy的数组,这一部分:
maps = depthmap[0:580,p1[0]:p2[0]]
实际上并没有进行复印。与列表和元组不同,NumPy切片创建原始数组的视图。因此,下一行:
maps[maps < value] = value
修改原始depthmap
阵列,线之后:
depthmap[0:580,p1[0]:p2[0]] = maps
是多余的。你可以删除它:
def updatemap(depthmap, p1, p2, value):
maps = depthmap[0:580,p1[0]:p2[0]]
maps[maps < value] = value
好的你是正确的。大。可悲的是我无法向你提供帮助 – power2