halcon标定助手_消除镜头误差,halcon畸变标定

这篇博客介绍了如何使用halcon进行镜头畸变标定,包括畸变模型的建立,如division model和polynominal model,以及标定板的创建、标定助手的使用,详细阐述了畸变矫正图像的过程,并提供了像素点转换为物理点的方法。
摘要由CSDN通过智能技术生成

图像的畸变由于镜头(主要是FA镜头)引起的,实际同一个点,在通过光心后成像点倾斜。

6a49716d3370570fd9b33e1493eb7dfe.png

像差导致畸变

halcon畸变模型

在halcon中,这个畸变可以通过division modelpolynominal model来建模

division model

这种模型使用一个参数k来建模这种畸变关系

a5d2167112e5a36b5b65932ffad6a8ae.png

转换公式

其中

717fb00804c29388bd751e271091099c.png

公式

d57bf6172078851cd3085847ddd2923e.png

畸变

polynominal model

也称多项式,使用三个参数(k1,k2,k3)来建模畸变

edb06a8119859950546074dbfc41d780.png

公式

其中

12256884d0cf5cfb637d1d81eb97f134.png

公式

7bc22a0133c682ec0a90a29ff4629c58.png

透视投影

其中

世界坐标系:Xw,Yw,Zw

相机坐标系:Xc,Yc,Zc

图像坐标系统:r,c

图像像素坐标系统:u,v

标定板创建

gen_calib(7,7,0.0125,0.5,’calib.descr’,’calib.ps’)

每行圆点数量

每列圆点数量

两个圆点的中心距离

圆点半径和圆点中心距离的比值

标定板描述文件

标定板图像文件

这个你可以自己生成后打印出来, 当然这种精度肯定不高的, 你也可以去某宝上买。

标定助手

使用halcon的标定助手可以进行畸变标定,采集各种姿态的图片,尽量在视野的每个位置、角度都采集,最好15张以上,生成标定文件。

bc820382b95cb2aad020f59eccd6d644.png

标定助手

我们得到内参和外参

CameraParameters := [0.0344624,-90.0854,8.31673e-006,8.3e-006,1310.66,911.681,2400,2048]

CameraPose := [-0.0160043,0.0131353,0.174315,1.28984,355.196,273.345,0]

使用标定文件

畸变矫正图像

CameraParameters := [0.0344624,-90.0854,8.31673e-006,8.3e-006,1310.66,911.681,2400,2048]

CamPos1:=CameraParameters

CamPos1[1]:=0

读取图片

read_image()

建立矫正矩阵

gen_radial_distortion_map

进行矫正

map_image

像素点转换为物理点

CameraParameters := [0.0344624,-90.0854,8.31673e-006,8.3e-006,1310.66,911.681,2400,2048]

CameraPose := [-0.0160043,0.0131353,0.174315,1.28984,355.196,273.345,0]

获取像素点

P1x:=100 P1Y:=100

P2X:=100 p2Y:=200

TmpCtrl_ImgRows :=[P1X,P2X]

TmpCtrl_ImgColums := [P1y,p2y]

set_origin_pose(CameraPos,0.0,0.0,-0.001,CameraPose)

image_points_to_world_plane(CameraParameters,CameraPose,TmpCtrl_ImgRows,TmpCtrl_ImgColums,’mm’,TmpWorldX,TmpWorldY)

得到输出世界坐标点TmpWorldX,TmpWorldY

计算距离

distance_pp 输出距离值 TmpCtrol_Distance

获取单像素精度值

TmpCtrol_Distance/200

关注我 公众号 VisionManMaster

ccf4a99c07e0b513e0cf122970e9dbb6.png

#机器视觉# #自动化# #PLC# #编程# #图像处理#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值