如何区分蓝色(圆形)和其他(任意方向 rectangular/polygon)类型的轮廓
how to differentiate between blue (circular like) and other (arbitrary oriented rectangular/polygon) type contours
在this image 中有三个等高线。我想过滤掉蓝色的轮廓,它看起来像一个圆润的椭圆形,而其他的看起来像任意排列的多边形,它的边缘也可以不完全平滑。我们如何区分蓝色(圆形)和其他(任意方向 rectangular/polygon)类型的轮廓?如何在 OpenCV 或 Halcon 中为此设计特征?
在 Halcon 中,您可以使用特征来区分 regions/xld 的不同形状。检查区域/功能的帮助。 HDevelop 中甚至有一个 'Feature Histogram' 工具可以帮助您解决这个问题并探索所有不同的功能,检查 menu/Visualisation/Tools/Feature 直方图。
在代码中:
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)
在this image 中有三个等高线。我想过滤掉蓝色的轮廓,它看起来像一个圆润的椭圆形,而其他的看起来像任意排列的多边形,它的边缘也可以不完全平滑。我们如何区分蓝色(圆形)和其他(任意方向 rectangular/polygon)类型的轮廓?如何在 OpenCV 或 Halcon 中为此设计特征?
在 Halcon 中,您可以使用特征来区分 regions/xld 的不同形状。检查区域/功能的帮助。 HDevelop 中甚至有一个 'Feature Histogram' 工具可以帮助您解决这个问题并探索所有不同的功能,检查 menu/Visualisation/Tools/Feature 直方图。
在代码中:
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)