Halcon threshold和select_shape算子学习笔记

打开Halcon自带的threshold例程

 main程序如下

read_image (Audi2, 'audi2')
fill_interlace (Audi2, ImageFilled, 'odd')
threshold (ImageFilled, Region, 0, 90)
connection (Region, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'width', 'and', 30, 70)
select_shape (SelectedRegions, Letters, 'height', 'and', 60, 110)
dev_clear_window ()
dev_set_colored (12)
dev_display (ImageFilled)
dev_display (Letters)

read_image (Audi2, 'audi2')//读入一副图像
fill_interlace (Audi2, ImageFilled, 'odd')//处理一下显得清晰

threshold (ImageFilled, Region, 0, 90)
这个算子是把灰度值在0-90作为一个区域Region(下图的红色部分),其他灰度值的作为一个区域,即灰度图像的二值化

 connection (Region, ConnectedRegions)

这个算子是把红色区域分成不同的连通域ConnectedRegions,ConnectedRegions是很多个0-90灰度值区域的集合。

select_shape (ConnectedRegions, SelectedRegions, 'width', 'and', 30, 70)在ConnectedRegions集合中选择长度在30-70之间的区域放到这个区域集合中SelectedRegions

select_shape (SelectedRegions, Letters, 'height', 'and', 60, 110)在SelectedRegions集合中选择高度在60-110之间的区域放到Letters的集合中

dev_clear_window ()//清空窗体
dev_set_colored (12)
dev_display (ImageFilled)//显示原图像
dev_display (Letters)//选择Letters区域集合,Letters区域集合就是我们最终感兴趣的车牌号图像区域

threshold 阈值算子取值可以通过灰度直方图中调整灰度值的范围,快速找到我们感兴趣的区域

select_shape 算子可以用特征直方图调整效果,快速找到我们感兴趣的区域

 

猜你喜欢

转载自www.cnblogs.com/lizhiqiang0204/p/12322267.html