问题描述
我的目标是识别轮廓,即图像的外部轮廓,例如在...中提出 How to remove a contour inside contour in Python OpenCV?
但是,我的工作流被确定的轮廓太大打扰了。
以文档示例为例: https://docs.opencv.org/3.1.0/d9/d8b/tutorial_py_contours_hierarchy.html( RETR_TREE )
在我的情况下,轮廓0太大了,需要删除。这项任务并不困难,因为使用边界框或其他工具,我可以识别出不合适的轮廓(例如https://answers.opencv.org/question/65005/in-python-how-can-i-reduce-a-list-of-contours-to-those-of-a-specified-size/)。
困难的部分是:如何更新层次结构?
在示例中,层次结构将发生很多变化:
result
轮廓1例如将从
更新hierarchy
array([[[ 7,-1,1,-1],[-1,2,0],3,1],4,2],5,3],[ 6,4],[ 8,7,-1]]])
到
[-1,0]
因为现在它的轮廓7处于相同的层次结构(自轮廓0存在以来就没有此轮廓),并且不再有父级。
如何在Python中实现?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)