概述
摄像头拍摄时候,图像均有畸变,但是图像的扭曲变形均是有规律的成线性的,所以可以通过算法矫正。矫正的算法可以在网上找到,这里就叙述了。halcon标定过程需要在镜头内放置标定板;标定板一般选用30*30mm的;可以通过halcon程序来制作:
gen_caltab(::XNum,YNum,MarkDist,DiameterRatio,CalTabDescrFile,CalTabPSFile :) 算子来制作一个标定板
XNum 每行黑色标志圆点的数量。
YNum 每列黑色标志圆点的数量。
MarkDist 两个就近黑色圆点中心之间的距离。单位是meter
DiameterRatio 黑色圆点直径与两圆点中心距离的比值。
CalTabDescrFile 标定板描述文件的文件路径(.descr)。这两个文件路径是用来存放文件的
CalTabPSFile 标定板图像文件的文件路径(.ps),
其中,.descr文件为标定板描述文件,.ps文件为标定板图形文件,可以用photoshop(PS)打开;
一个30*30的标准标定板的示例
1 gen_caltab(7,7,0.00375,0.5,'D:/30_30.descr','D:/30_30.ps')
2 黑色圆点行数: 7
3 黑色圆点列数: 7
4 外边框长度: 30mm*30mm
5 黑色圆点半径: 0.9375mm (3.75/4)
6 圆点中心间距: 3.75mm
标定过程可以同过halcon自带的标定助手calibration来操作,具体:
1.打开助手,选择calibration;
2.在安装选择要选用的标定模板,一般caltab_30mm.descr,是30*30模板;
3.选择标定标签,选择图像或者图像采集助手,自带例子加.....MVTecHALCON-11.0examplesimagesscratch;
4.加载好图像后设定参考位姿;
5.警告级别选择70,即可,如果加载图像中有品质问题的请删除;
6.标定即可;
7.插入代码,生成如下代码即可应用;
应用方式可以参考如下代码:
read_image(Image,'pioneer')
dev_display (Image)
stop()
rgb1_to_gray(Image,GrayImage)
CamParOriginal:=[0.00219846,-78129.2,5.46495e-06,5.5e-06,318.206,236.732,640,480]
CamParVirtualFixed:=CamParOriginal
CamParVirtualFixed[1]:=0
*上面三条是标定时候的参数
gen_radial_distortion_map(MapFixed,CamParOriginal,CamParVirtualFixed,'bilinear')
*生产径向畸变映射图,
*mapfixed是输出,
*CamParOriginal是标定后的参数,
*CamParVirtualFixed也是输出的参数,
*'bilinear'映射类型
map_image(GrayImage,MapFixed,ImageRectifiedFixed)
*利用映射,消除图像畸变算子
处理的图像如下:
---------------------
作者:abcvincent
来源:CSDN
原文:https://blog.csdn.net/abcvincent/article/details/52986467
版权声明:本文为博主原创文章,转载请附上博文链接!
最后
以上就是自然楼房为你收集整理的halcon学习笔记(10)——标定的全部内容,希望文章能够帮你解决halcon学习笔记(10)——标定所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复