在此图像中,有三个轮廓。我想过滤掉看起来像圆形椭圆形的蓝色轮廓,而其他看起来像任意对齐的多边形,其边缘也可能不完全平滑。我们如何区分蓝色(圆形)和其他(任意方向的矩形/多边形)类型的轮廓?如何在 OpenCV 或 Halcon 中为此设计功能?
问问题
69 次
1 回答
1
在 Halcon 中,您可以使用特征来区分不同形状的区域/xld。查看区域/功能的帮助。HDevelop 中甚至还有一个“特征直方图”工具可以帮助您解决这个问题并探索所有不同的特征,请查看菜单/可视化/工具/特征直方图。
在代码中:
read_image(Image, 'M0tcu.jpg')
decompose3(Image, Image1, Image2, Image3)
rgb3_to_gray(Image1, Image2, Image3, ImageGray)
threshold (ImageGray, Regions, 131, 255)
connection(Regions, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'circularity', 'and', 0.4615, 1)
于 2020-07-02T08:46:27.620 回答