我正在使用OpenCV(Canny + findCountours)来查找对象的外部轮廓。绘制的曲线通常几乎(但不是完全)是闭合的。我想关闭它 - 找到它所包含的区域。
我该怎么做?
考虑事项:
答案 0 :(得分:1)
使用PolyLine方法绘制轮廓
cv2.PolyLine(img, points, is_closed=True, 255, thickness=1, lineType=8, shift=0)
阅读文档以获取更多详细信息:http://docs.opencv.org/2.4/modules/core/doc/drawing_functions.html
Mark回答是否解决了您的问题。如果没有,请告诉我。
答案 1 :(得分:0)
有点晚了,但我不得不自己处理这件事。如果在Canny边缘检测之前执行打开操作(侵蚀然后扩张),则检测到的边缘应更连续,从而获得更好的轮廓。这种方法看起来相当稳健。我在another post中提到了此问题,并将代码示例发布为a recent question的一部分。