Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
opencv中的重复轮廓_Opencv_Image Processing_Hierarchy_Gpuimage - Fatal编程技术网

opencv中的重复轮廓

opencv中的重复轮廓,opencv,image-processing,hierarchy,gpuimage,Opencv,Image Processing,Hierarchy,Gpuimage,我在opencv中发现了一些问题。输出中有太多数据,我知道正确使用层次结构是关键。给出opencv文档中的下图: 我想画除2a和3a以外的所有等高线。什么是遍历层次结构和findContour参数以实现该结果的正确方法 findContours函数找到的轮廓具有方向性。对象为逆时针方向,孔为顺时针方向。所以,若你们检查每个轮廓的有符号区域,你们将通过它的符号知道这是否是一个孔。等高线的符号面积可按以下方式计算: contourArea(contour, true); 当然,使用层次结构也是一

我在opencv中发现了一些问题。输出中有太多数据,我知道正确使用层次结构是关键。给出opencv文档中的下图:


我想画除2a和3a以外的所有等高线。什么是遍历层次结构和findContour参数以实现该结果的正确方法

findContours函数找到的轮廓具有方向性。对象为逆时针方向,孔为顺时针方向。所以,若你们检查每个轮廓的有符号区域,你们将通过它的符号知道这是否是一个孔。等高线的符号面积可按以下方式计算:

contourArea(contour, true);

当然,使用层次结构也是一种很好的方法,但我认为这种方法更容易理解和实现。

再加上@Michael Burdinov所说的,返回对象或保持项的+ve和-ve值。

您可以共享原始图像吗?上面不是有一个带白线和红色数字的黑色图像吗?如果没有,可以在页面顶部找到原始图像。我认为红色数字是您特意添加的,用于说明您试图检测的轮廓。在同一教程中,请阅读关于flag:
RETR\u CCOMP
。我希望它将为您提供一个两级层次结构,其中2a和3a属于第2级,而所有其他都属于第1级。(我还没有试过,所以我可以确定。自己检查一下)根据我的需要,这是干净的,准确率约为85%。我尝试将骨骼化(如上所述)添加到混合中,但输出太少。我有几行双线,但不像以前那样。非常感谢。