选择轮廓(select_shape)

时间:2024-10-02 16:37:44
选择轮廓(select_shape)
    Halcon是一款运用广泛的图像识别和处理软件。在肤浅的接触中,它的轮廓选择算子(select_shape)给予我很深的印象。结果是往往几行代码就能够产生很好的效果:
      比如要得到这样的结果
选择轮廓(select_shape)
       只需要
read_image (Image1, , )
connection (Regions, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, , )
select_shape (SelectedRegions, SelectedRegions1, ., )
      当然Halcon是在背后做了许多工作的。
      几行代码中,比较重要的是算子就是"select_shape"。这个算子的参数很多,我也就比较熟悉这两种。
      如果我想在Opencv中也要这样的结果,就需要自己动手尝试实现。实现过程中我采用了类似的函数名表示敬意。
    );
,, THRESH_BINARY);
    threshold(gray,thresh2,,,THRESH_BINARY_INV);
    thresh ;i,),rng.uniform(,),rng.uniform(,));
        drawContours(draw,contours,i,color,);
    }
    ;i;i,),rng.uniform(,),rng.uniform(,));
        drawContours(draw,result_contours,i,color,);
    }
    ;
    minEnclosingCircle((Mat)contour,center,radius);
    ;
    ;
    ;i;i;i,),rng.uniform(,),rng.uniform(,));
        drawContours(draw,result_contours,i,color,);
    }
    ,);
    ,);
    ,);
    //显示结果
    imshow("src",src);
    imshow("thresh",thresh);
    imshow("draw_connection",draw_connection);
    imshow("draw_area",draw_area);
    imshow("draw_circle",draw_circle);
    waitKey();
}
结果如下,这段代码中还有一个问题,就是计算轮廓圆的性质的方法,我这里采用的是自己想出来的方法,似乎不是很完善,需要进一步找到资料才修正。
选择轮廓(select_shape)