本文通过Blob分析提取出图片中的硬币,来熟悉halcon的基本操作。
1、读取图像,halcon读取图像有三种方式:1)、文件->读取图像;2)、通过助手;3)、代码
*打开窗口
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
*读取图像
read_image (Image,'1.png')
读取的图像如下:
2、rgb转灰度
*rgb转灰度
rgb1_to_gray (Image, GrayImage)
3、二值化,通过灰度特征直方图(有阈值和缩放两个选项),阈值即对图像进行二值化,缩放即对图像进行图像增强
*二值化
threshold (GrayImage, Regions, 62, 255)
4、二值化后为一个区域,一定要连接连通域,将区域打断(区域是没有像素值的,halcon中按住ctrl然后把鼠标指到图像中某一位置会显示其坐标和像素值)
*连接连通域
connection (Regions, ConnectedRegions)
5、通过特征选择将感兴趣的连通域选择出来
*特征选择
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 35619.1, 200000)
6、区域填充
*区域填充
fill_up (SelectedRegions, RegionFillUp)
7、显示面积及中心坐标
area_center (RegionFillUp, Area, Row, Column)
disp_message (WindowHandle, '面积:'+Area+'坐标:'+Row+','+Column, 'window', 0, 0, 'black', 'true')
结果如下图所示: