我选择了一个点(即一个邻域)
每个点都有一个XYZC值。其中C为1或0。
如果任何点的C值为1,我想将中心点的C值指定为0。
如果所有点的C值均为0,我想将中心点的C值指定为1。
n=np.zeros((1,1))
for b in range(0,6):
bb = coordlist[b][4]
if bb==1:
break
n+=bb
if n< 1:
in_cloud[point][4] =1
这是最快,最好的方法吗?我将在附近进行多达20/30点的操作。
最佳答案
您可以将coordlist
定义为二维数组:
coordlist = np.array(coordlist)
并立即进行比较:
if np.any(coordlist[:,4]==1):
in_cloud[point][4] = 0
else:
in_cloud[point][4] = 1
但是您还应该查看
in_cloud
列表,似乎可以通过将所有内容从list
更改为np.ndarray
并避免使用本示例中的Python for循环来提高代码的整体速度。关于python - xyzc值数组,确定第三列是否有c值等于1或不为零的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18898808/