[英]How to convert the following coordinates to 'shapely' polygon?
我有以下格式的列表中的坐标:
[572.71063 453.9848 622.2049 472.86023]
其中四个数字分别对应一个矩形的 X1, Y1, X2, Y2 坐标。 (X1,Y1 左上角,X2,Y2 右下角)。
我想将列表项转换为“匀称”多边形。 列表项的格式不正确,在这种情况下,Polygon 可以工作。 所以我使用了以下功能
brd = Polygon(map(np.squeeze, bb))
这没用。 我认为矩形坐标的问题实际上不是轮廓格式。 我认为轮廓应该是接近的。
我可以将列表中的矩形坐标转换为形状多边形的最佳方法是什么?
如果我理解问题,你只需要这个:
rect = [572.71063, 453.9848, 622.2049, 472.86023]
X1, Y1, X2, Y2 = rect
polygon = [(X1, Y1), (X2, Y1), (X2, Y2), (X1, Y2)]
编辑:
最小工作代码:
from shapely.geometry import Polygon
import matplotlib.pyplot as plt
rect = [572.71063, 453.9848, 622.2049, 472.86023]
X1, Y1, X2, Y2 = rect
polygon = [(X1, Y1), (X2, Y1), (X2, Y2), (X1, Y2)]
p = Polygon(polygon)
x, y = p.exterior.xy
plt.plot(x, y)
plt.show()
结果:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.