Halcon 基础知识(一)

项目流程总结:采集-预处理-定位-特征提取-识别-显示

1.图像预处理
按作用域划分   空间域包括有中值(median_image)、均值(mean_image)、高斯滤波;
                           频域:模板滑动;
按功能划分   增强对比度:线性变换(scale_image )、直方图均衡化(equ_histo_image)、灰度形态学(gray_)、emphasize
                       去噪声:各类滤波

2.定位:

      (1)Blob分析(受光照影响大)

                 二值化(threshold)//特征提取(select_shape)
先将图像灰度化,再打开工具栏-打开灰度直方图,勾选范围筛选中的阈值,然后在直方图中拖动选择,之后点击插入代码即可。
二值化之后一般要把同一片区域利用connection函数形成不同的连通域,再打开特征直方图进行利用不同特征来进行目标区域选择。如果单个特征无法准确选择目标区域,还可点击表格上的“+”号,添加其他特征。

                注:图片或者图片背景时,直接二值化难以区分,则考虑将RGB图像进行颜色空间转换,选择合适通道进行区域定位(Blob分析),经过填充等处理之后进行矫正                             (仿射变换),最后抠图(reduce_domain),以达到减少背景干扰的目的。
                 相关算子:decompose3(分离通道)  trans_from_rgb(转换成HSV)


       (2)仿射变换(affine_trans_region)是一种特殊的几何变换,包括旋转、缩放、平移。
                  配合使用算子:  hom_mat2d_(产生齐次变换矩阵:平移、缩放、旋转)   vector_angle_to_rigid(从点和角度计算刚性仿射变换)    
                                             orientation_region(计算区域角度) area_center(计算面积、中心坐标)

       (3)模板匹配 


3.形态学概念

腐蚀(erosion)   注:针对灰度图像表现为亮度减弱,其他的表现为形状断开

开运算(opening):先腐蚀后膨胀,程度比腐蚀弱一些

膨胀(dilation)  注:针对灰度图像表现为亮度加强,其他的表现为形状连接

闭运算(closing):先膨胀后腐蚀,程度比膨胀弱一些

注意在算子使用时选择相应形状元素,如圆形,矩形。


4.封装自定义算子

  选中要封装的代码,点击工具栏的函数—创建新函数,根据自己的需要填写各项设置。 

注:在一般设置-类型中,若选择本地程序函数,再次创建新的工程就没有了,如果想在外部也能够调用则需选择库函数,调用方法:函数-管理函数-Procedures-目录-添加库。

5.数据类型

图形变量:image 、region、xld(亚像素轮廓)

控制变量


猜你喜欢

转载自blog.csdn.net/leo_888/article/details/80249289
今日推荐