Halcon实战Blob分析二

如图,我们需要求出硬币的面积(像素面积)。注意,如果要求实际面积,需要用到标定板,测量助手,涉及到相机标定相关的知识,我们暂且不作深入讨论。



首先,我们必须将硬币提取出来,去掉钥匙的干扰。那么采用blob分析是最佳方法。

我们采用中值滤波进行图像预处理。

多说一句,我们使用halcon做图像处理的手法(框架)一般很固定,简单说有:

1.采集图像

2.预处理(定位)。用到的操作包括中值滤波,均值滤波,高斯滤波,模板匹配,形态学等

3.特征提取。形状特征、颜色特征、纹理、概率,描述算子,梯度直方图等

本案例我们使用*中值滤波(也可以用均值滤波)去椒盐噪声 使图像变得平滑

然后二值化灰度图像




开运算



断成不同的连通域

connection



特征直方图,进行特征选择:


最好求面积和坐标:


完整实现:

* Code generated by Image Acquisition 01
dev_close_window ( )
dev_open_window_fit_size (0, 0, 640, 480, -1, -1, WindowHandle)
*读取灰度图像
read_image (Image, 'E:/SVN/Gavin/Learn/HalconHelp/photos/money.png')
*中值滤波(也可以用均值滤波)去椒盐噪声 使图像变得平滑
median_image (Image, ImageMedian, 'circle', 1, 'mirrored')
*mean_image (ImageMedian, ImageMean, 9, 9)


*灰度图像二值化
threshold (Image, Regions1, 120, 255)
*开运算 去像素
opening_circle (Regions1, RegionOpening, 8.5)
*填充孔洞
fill_up (RegionOpening, RegionFillUp)

stop ( )
*断成不同的连通域
connection (RegionFillUp, ConnectedRegions)
*特征选择,提取图像
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 12016.2, 16291.2)
area_center (SelectedRegions, Area, Row, Column)
disp_message (WindowHandle, '面积:'+Area+',坐标:'+'('+Row+','+Column+')', 'window', Row-100, Column-50, 'black', 'true')






  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值