Halcon的使用

1、 halcon调用图片4种方法:
(1)文件-读取图像-选择图像
(2)直接敲代码读取:read_image按两次Tab键 例:read_image (Images, [‘C://Users//liwangjun//Desktop//2.bmp’,‘C://Users//liwangjun//Desktop//C++的语句分类.jpg’]),中括号里的是图片的地址
(3)助手-选择图像文件-选择文件-选择完成之后再插入代码
(4)助手-选择图像文件-选择路径-选择文件夹-插入代码【用来处理多张图片】
2、相机采集完图片就得关掉,要不然程序第二次执行的时候回报错,//也就是要运行完close_
3、保存图像运行代码:write_image (Image, ‘tiff’, 0 , ‘D://图片’ )
4、显示图像:dev_display(image)
5、Blob分析:在图像里面准确找到自己想要目标的区域像素
6、要显示某一个目标图形,可以先将其二值化处理:threshold,也就是利用灰度直方图进行二值化处理,然后可以利用:fill_up对其不完整的图像进行填充,填充完成之后利用:connection将其二值化处理后的多个图形组成的整体图像打散成每个图像个体,然后再利用形状选择函数:select_shape 对其目标图像进行选取,对所选取好的图像进行面积,坐标求解:先利用area_center函数,在利用显示函数:disp_message
7、灰度图像:一个字节来表示一个像素 RGB图像:3个字节来表示一个像素
8、形态学:(1):腐蚀:减少像素,原理:如果要移动的像素没有被目标图像的像素完全包含,则就要把这个中心元素对用的那个元素给消除掉
(2):膨胀:是增加元素,如果图像是一个圆,膨胀之后会在外围增加一圈,原理:按照中心元素去移动,只要与原来的像素有一个是交集(相同), 中心元素对应的元素的值就变成与中心元素一样的值,(与新增的元素无关)
(3):开运算:先腐蚀后膨胀-减少像素(开运算函数:opening_circle…)
闭运算:先膨胀后腐蚀-增加像素
9、对于灰度图像的形态学并不能改变其形状,只能改变其亮暗程度
10、二值化或形态学处理后得到的是一个区域,需要调用connection然后再进行各种运算
11、连通域的计算:利用函数count_obj
12、高斯滤波:使亮的更亮,使暗的更暗
13、当背景只有黑和白的时候,使用快速二值化工具:binary_threshold(输入bin自动显示)
14(捏合图形)秃性利用函数:shape_trans (Region, RegionTrans, ‘convex’) ,外接矩形shape_trans (Region, RegionTrans, ‘rectangle1’),只需换最后一个单词
15、函数draw_region (Region, WindowID)表示在图形界面画出一个区域
16、仿射变换矩阵:
(1)求一个单位矩阵:hom_mat2d_identity (HomMat2DIdentity)
(2)求一个旋转矩阵:hom_mat2d_rotate (HomMat2DIdentity, -0.3, 256, 256, HomMat2DRotate) 【-0.3表示向负方向旋转0.3弧度】
(3)求一个缩放矩阵:hom_mat2d_scale (HomMat2DRotate, 1.5, 1.5, 256, 256, HomMat2DScale) 【1.5,1.5 表示x和y方向缩放1.5倍】
17、halcon的测量:在助手中点击打“开新的Measure”,在设置参数时:由亮到暗是正边缘(positive),由暗到亮是负边缘(negative)
18、对一个图形进行旋转变换得运用两个函数:首先求出角度,然后求出中心点坐标,面积:
(1)求角度函数orientation_region (SelectedRegions, Phi),求出的角度为phi,在运用是输入or
(2)求面积函数area_center (SelectedRegions, Area, Row, Column)//求面积,中心点的行与列坐标,有这个可以对区域进行变换,
(3)要得到的新位置,然后再对它进行旋转变换,这个只是求出了一个仿真变换矩阵:运用函数vector_angle_to_rigid (Row, Column, Area, Row, Column, Area, HomMat2D) *变换到水平位置需要将第二个Area改为0,表示要变换成水平位置0度 //这个函数只支持平移和旋转,不支持缩放,要想支持缩放,用hom函数
(4)上一步是求出一个仿真变换矩阵,还需要将这个矩阵作用在这个图像上则运用这个函数:affine_trans_image,或者区域上则运用函数:affine_trans_region
(5)然后再加入助手里面的测量助手Measure
19、对于彩色图像要进行拆通道,
这个函数是把图像拆成RGB通道:decompose3 (W020160629541002823283, Red, Green, Blue)
这个函数是把RGB通道空间转成hsv空间:hsvtrans_from_rgb (Red, Green, Blue, Hue, Saturation, Intensity, ‘hsv’)
20、区域截取:reduce_domain(是为了去除噪声)
21、区域排序:sort_region(是为了排序,排序之后容易识别)
22、英文识别套路:采集-分割-训练学习TRF(汉字:读取)-识别
23、预处理:
(1)增强对比度:a:线性变换scale_image
b:增强图像的函数:emphasize
c:直方图均衡化的函数:equ_histo_image
(2)去噪声:a:均值滤波mean_image
b:中值滤波median_image
c:高斯滤波 用来去除脉冲噪声,校验噪声
24、预处理中的灰度变换:点开灰度直方图,将阀值改为缩放,插入代码
25、保存图片:write_image 保存加入字的图片:dump_window_image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值