【发布时间】:2017-01-02 19:56:12
【问题描述】:
我有一个像this 这样的多边形,我想获取这个多边形边界的 xy 坐标。
因此我尝试了 OpenCV 的 Canny Edge Detection 并提取了如下坐标:
>>> edge = cv2.Canny(region, 100, 200)
>>> ans = []
>>> for y in range(0, edge.shape[0]):
>>> for x in range(0, edge.shape[1]):
if edge[y, x] != 0:
ans = ans + [[x, y]]
>>> print ans
问题是,我想按照this picture 可能解释的边界排列顺序提取坐标。
由于我的多边形很复杂,凸包不起作用,并且由于我从 cv2.edge() 获得的边缘点的数量,我需要使用快速算法。
【问题讨论】:
-
你应该使用 findContours 而不是 Canny
-
@Sunreef 谢谢,成功了!
标签: python opencv coordinates