我正在研究定位系统。我的输入是一个字典,它将给我们从点(x1,y1)等半径为 d1 的圆。我想要的输出是一个数组(类似于 2D 坐标系),其中相交区域标记为 1,其余部分为 0。我试过这个:
xsize=3000
ysize=2000
lis={(x1,y1):d1,(x2,y2):d2,(x3,y3):d3}
array=np.zeros((xsize,ysize))
for i in range(xsize-1):
for j in range(ysize-1):
for element in lis:
if distance((i,j),element)<=(lis[element]):
array[i][j]=1
else:
array[i][j]=0
break
def distance(p1,p2):
return math.sqrt((p1[0]-p2[0])**2+(p1[1]-p2[1])**2)
唯一的问题是数组很大并且花费的时间太长(循环数为 1000 万),尤其是在树莓派上,否则这是可行的。有什么方法可以使用openCV和图像然后绘制圆圈以更快地获得相交区域?
它必须是 python 2.x。