0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么要进行单相机标定

新机器视觉 来源:CSDN技术社区 作者:丶布布 2021-09-02 09:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

为什么要进行单相机标定?

广义:畸变矫正和一维和二维测量

畸变矫正:

在几何光学和阴极射线管(CRT)显示中。畸变是对直线投影的一种偏移。简单来说直线投影是场景内的一条直线投影到图片上也保持为一条直线。那畸变简单来说就是一条直线投影到图片上不能保持为一条直线了。这是一种光学畸变(optical aberration)。畸变是一种相差,可能由于摄像机镜头导致,会对拍摄的物体的形状产生变化,影响测量。

我自己对畸变矫正的理解就是,当相机进行标定时,虽然标定板也产生了畸变,但是标定板(圆形)的准确数据我们已经告诉了halcon,比如,圆的排列方式、直径、中心距等。

通过加载多张标定板图片,halcon可以通过函数求出镜头里发生畸变的标定板与未发生畸变的标定板之间的映射关系,也就是相机本身的内参(拍摄有畸变)和矫正之后无畸变内参之间的映射关系,将这种映射关系作用到拍摄时发生畸变的物体当中,就完成了畸变校正。。

步骤:

1)通过标定求出相机内参。

2)通过有畸变的内参求出无畸变的内参。用chage_radial_distortion_cam_par()函数完成。

3)求出有畸变的内参和无畸变的内参之间的映射关系。用

gen_radial_distortion_map()函数

4)将上边的映射关系作用到产生畸变的物体当中,完成畸变校正

一维和二维的测量

图片上的尺寸是像素距离,标定后,可以求出像素距离与物理空间距离的换算关系,从而计算出实际的物理尺寸。

狭义:求解相机的内参和外参以及畸变参数,得到二维平面像素坐标和三维世界坐标的关系,从而进行三维重建。

相机内参:相机的固有属性,在进行畸变校正时需要用到相机的内参。

相机外参:物体在经过透镜成像之后,实际上是经过了旋转和平移,而外参就是告诉我们物体成像后经过了那种旋转和平移,相机的外参包括平移矢量和旋转矩阵。

畸变参数:采用理想针孔模型,由于通过针孔的光线少,摄像机曝光太慢,在实际使用中均采用透镜,可以使图像生成迅速,但代价是引入了畸变。有两种畸变对投影图像影响较大:径向畸变和切向畸变。

相机的畸变和内参是相机本身的固有特性,标定一次即可一直使用。但由于相机本身并非理想的小孔成像模型以及计算误差,采用不同的图片进行标定时得到的结果都有差异。一般重投影误差很小的话,标定结果均可用。

二、标定流程

实现的原理是根据相机的像元尺寸、焦距和标定板的描述文件(.descr)来找到显示的标定板图像上面的标志点,从而确定标定板实际输入的参数(Distance、Diameter等)和这些参数对应的图像像素大小的关系,完成标定。

标定步骤:

1)使用gen_caltab算子生成一个标定文件

标定前需要生成一个.descr的描述文件,也就是世界坐标系与像素坐标系的关系,当我们下一次做别的项目时,只需要调用描述文件,即可完成标定过程。

生成标记文件的算子:gen_caltab (7, x方向的标记数;

7, y方向的标记数;

0.0075, 标记点圆心之间的距离,单位:米;

0.5, 标记点直径与标记点圆心之间距离的比值;

‘C:/Users/Administrator/Desktop/caltab.descr’,标定板的描述文件的保 存路径;

‘caltab.ps’,描述标定板的一些信息,打印标定板时会用到)

2)打开标定助手,加载标定文件,设置相机参数(单个像元宽高(问相机厂商或看手册),相机焦距)

3)实时获取各个角度、位置的标定板图片(9-16张左右),并选择其中一种图片设置参考位姿,然后标定。

可以看到相机的参数:

4)保存相机内、外参,下次使用测量助手直接调用内外参文件。

单独说一下如何进行畸变校正,可以接上面的第三步之后:生成标定数据(相机内、外参)代码,从而进行畸变校正

*相机内参

CameraParameters := [0.0375147,-270.806,8.30152e-006,8.3e-006,647.48,520.914,1280,960]

*相机位姿,即外参(旋转矩阵+平移矢量)

CameraPose := [-0.0091626,-0.00625214,0.700967,2.46926,358.933,179.443,0]

*1、校正径向畸变,得到新的相机内参

change_radial_distortion_cam_par (‘adaptive’, CameraParameters, 0, CamParamOut)

stop ()

Image Acquisition 02: Code generated by Image Acquisition 02

open_framegrabber (‘GigEVision’, 0, 0, 0, 0, 0, 0, ‘default’, -1, ‘default’, -1, ‘false’, ‘default’, ‘CAMERA_QBY_DM’, 0, -1, AcqHandle)

grab_image_start (AcqHandle, -1)

while (true)

grab_image_async (Image, AcqHandle, -1)

*2、对发生径向畸变的图像生成投影映射,图像的映射数据存在第一个参数中

gen_radial_distortion_map (Map, CameraParameters, CamParamOut, ‘bilinear’)

*3、对图像进行畸变校正

map_image (Image, Map, ImageMapped)

endwhile

close_framegrabber (AcqHandle)

注意:相机标定之后,相机焦距、上下位置不能再动,否则需要重新标定。

—版权声明—

仅用于学术分享,版权属于原作者。

若有侵权,请联系微信号删除或修改!

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相机
    +关注

    关注

    5

    文章

    1606

    浏览量

    56035
  • crt
    crt
    +关注

    关注

    2

    文章

    86

    浏览量

    37215
  • 函数
    +关注

    关注

    3

    文章

    4422

    浏览量

    67855

原文标题:halcon单相机标定和畸变矫正程序

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    自动驾驶激光雷达应如何进行标定

    的。 物理安装过程不可避免地会引入微小的位置偏差和角度倾斜,哪怕是零点几度的安装误差,在百米之外的目标检测上也会产生数米的位姿偏移。这种物理安装与数学模型之间的鸿沟,必须通过标定技术来填合。标定不仅是传感器装
    的头像 发表于 04-19 09:23 897次阅读
    自动驾驶激光雷达应如何<b class='flag-5'>进行</b><b class='flag-5'>标定</b>?

    STEVAL - ISA037V1评估板:单相机智之选

    STEVAL - ISA037V1评估板:单相机智之选 在电子工程师的日常工作中,评估板是验证和开发新设计的重要工具。今天,我们就来深入了解一下STEVAL - ISA037V1评估板,看看它能
    的头像 发表于 04-16 16:30 90次阅读

    工业相机的数据接口分类及如何选择

    工业相机在选型时先定接口带宽与传输场景,再定像素帧率,最后选相机品牌。
    的头像 发表于 04-03 17:10 111次阅读
    工业<b class='flag-5'>相机</b>的数据接口分类及如何选择

    电驱动系统标定全流程指南:从生产扭矩秩序、基础参数,到 MTPA与弱磁、诊断架构与模型化标定闭环

    本篇为节选,完整内容会在知识星球发布,详细分布见目录页导语:今天聊聊电驱动系统的标定,本篇,我们会把性能标定、诊断标定和驾驶性标定放到同一条系统链路里,建立对
    的头像 发表于 03-30 07:41 777次阅读
    电驱动系统<b class='flag-5'>标定</b>全流程指南:从生产扭矩秩序、基础参数,到 MTPA与弱磁、诊断架构与模型化<b class='flag-5'>标定</b>闭环

    TGS2602 空气中如何标定

    无法、也不需要进行像电化学或红外传感器那样的“浓度精确标定”。标定的主要目的是获得稳定、可重复的基准参考点,而非直接输出ppm值。以下是完整的步骤和解释:第一部分
    的头像 发表于 01-19 12:06 366次阅读
    TGS2602 空气中如何<b class='flag-5'>标定</b>?

    探索TDA38740A评估板:高效单相机降压调节器的设计与应用

    探索TDA38740A评估板:高效单相机降压调节器的设计与应用 在电子设计的领域中,电源管理模块的性能直接影响着整个系统的稳定性和效率。TDA38740A评估板作为一款专注于40A单相机降压调节器
    的头像 发表于 12-18 11:40 661次阅读

    ECU刷写前的“隐藏关卡”:3分钟看懂XCP/CCP标定

    在上一期中,我们探讨了ECU刷写,重点介绍了基于UDS协议的刷写流程,它直接针对ECU进行操作。而标定的输出,正是ECU刷写的关键输入。那么,标定究竟是什么呢?标定的定义
    的头像 发表于 11-28 11:35 994次阅读
    ECU刷写前的“隐藏关卡”:3分钟看懂XCP/CCP<b class='flag-5'>标定</b>

    单相继电保护测试仪用途是什么?

    配电设备调试 对单相变压器、单相断路器、熔断器等一次设备的保护装置进行配合试验,验证保护装置与一次设备的动作协调性(如短路时保护装置能否快速触发断路器跳闸); 配电台区运维 针对居民 / 商业配电台区
    发表于 11-25 15:45

    CANape标定窗口被锁无法标定

    问题现象:解决方案:标定窗口被锁定无法标定除了ECU功能权限限制外可能存在的情况是CANape的工程配置影响的,主要有以下三个方面:1、CalibrateonlineDevice没有激活,需要将工程
    的头像 发表于 11-17 15:26 2248次阅读
    CANape<b class='flag-5'>标定</b>窗口被锁无法<b class='flag-5'>标定</b>

    IMU+多相机高速联合自动标定方案

    随着视觉惯性传感器在自动驾驶、机器人、AR/VR 等领域规模化落地,多相机+IMU 联合标定需求呈爆发式增长,多相机+IMU 联合标定领域尚属空白。 感算商城联合知名方案公司推出国
    发表于 10-23 14:04

    什么是传感器标定?传感器标定真的如此重要吗?

    什么是传感器标定?在测量技术中,传感器标定是指在规定条件下确定测量仪器(例如传感器或测量系统)输出的具有相应测量不确定度的测量值与使用具有相应测量不确定度的标准建立的测量值的相应值之间的关系的任务
    的头像 发表于 08-25 09:10 1848次阅读
    什么是传感器<b class='flag-5'>标定</b>?传感器<b class='flag-5'>标定</b>真的如此重要吗?

    GraniStudio:相机标定例程

    说明 实现相机标定位置进行标定。 注意:每次打开软件请先点击复位,确保位置安全;准备九点标定版;连接
    的头像 发表于 08-22 17:38 1100次阅读
    GraniStudio:<b class='flag-5'>相机</b><b class='flag-5'>标定</b>例程

    不确定度评估新实践:传感器标定中的置信概率与误差传递法则​

    提出更科学、更贴合工程实际的不确定度评估策略,提升标定结果的可信度与应用价值。 ​ ​引言​ ​ 在精密测量领域,传感器的性能依赖于严格的标定过程。标定不仅仅是确定输入与输出关系的过程,更需对其结果的可靠性
    的头像 发表于 07-22 11:34 1018次阅读

    实战演练:使用相机气密性检测仪进行防水测试

    在摄影领域,尤其是进行户外摄影,不少摄影师会在恶劣环境下使用相机,这就对相机的防水性能有了要求。而相机气密性检测就是判断相机防水性能的重要途
    的头像 发表于 05-30 11:04 703次阅读
    实战演练:使用<b class='flag-5'>相机</b>气密性检测仪<b class='flag-5'>进行</b>防水测试

    相机模组胶水检测

    相机
    海伯森技术
    发布于 :2025年05月19日 15:07:45