halcon学习笔记(10)——标定

          摄像头拍摄时候,图像均有畸变,但是图像的扭曲变形均是有规律的成线性的,所以可以通过算法矫正。矫正的算法可以在网上找到,这里就叙述了。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.选择标定标签,选择图像或者图像采集助手,自带例子加.....MVTec\HALCON-11.0\examples\images\scratch;


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)
*利用映射,消除图像畸变算子
      处理的图像如下:



  • 18
    点赞
  • 115
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值