opencv中的重复轮廓
我在opencv中发现了一些问题。输出中有太多数据,我知道正确使用层次结构是关键。给出opencv文档中的下图:opencv中的重复轮廓,opencv,image-processing,hierarchy,gpuimage,Opencv,Image Processing,Hierarchy,Gpuimage,我在opencv中发现了一些问题。输出中有太多数据,我知道正确使用层次结构是关键。给出opencv文档中的下图: 我想画除2a和3a以外的所有等高线。什么是遍历层次结构和findContour参数以实现该结果的正确方法 findContours函数找到的轮廓具有方向性。对象为逆时针方向,孔为顺时针方向。所以,若你们检查每个轮廓的有符号区域,你们将通过它的符号知道这是否是一个孔。等高线的符号面积可按以下方式计算: contourArea(contour, true); 当然,使用层次结构也是一
我想画除2a和3a以外的所有等高线。什么是遍历层次结构和findContour参数以实现该结果的正确方法 findContours函数找到的轮廓具有方向性。对象为逆时针方向,孔为顺时针方向。所以,若你们检查每个轮廓的有符号区域,你们将通过它的符号知道这是否是一个孔。等高线的符号面积可按以下方式计算:
contourArea(contour, true);
当然,使用层次结构也是一种很好的方法,但我认为这种方法更容易理解和实现。再加上@Michael Burdinov所说的,返回对象或保持项的+ve和-ve值。您可以共享原始图像吗?上面不是有一个带白线和红色数字的黑色图像吗?如果没有,可以在页面顶部找到原始图像。我认为红色数字是您特意添加的,用于说明您试图检测的轮廓。在同一教程中,请阅读关于flag:
RETR\u CCOMP
。我希望它将为您提供一个两级层次结构,其中2a和3a属于第2级,而所有其他都属于第1级。(我还没有试过,所以我可以确定。自己检查一下)根据我的需要,这是干净的,准确率约为85%。我尝试将骨骼化(如上所述)添加到混合中,但输出太少。我有几行双线,但不像以前那样。非常感谢。