「职场技能」LabVIEW编程基础:标定相机参数

一、Labview程序中控制相机参数

在Labview中控制相机参数比在NI MAX中去控制相机参数要方便得多,所以研究了下怎么在Labview中去控制相机参数。本文所使用Labview版本为2015,相机信型号AVT的G-201C,gige接口。

1、利用IMAQdx Enumerate Attributes.vi枚举属性函数找到对应参数字符串

如图1,创建 IMAQdx Enumerate Attributes.vi枚举属性函数,并创建一个显示控件。

机器视觉篇之相机标定

在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。

「职场技能」LabVIEW编程基础:标定相机参数

图1

下面实例中采用静态九点标定法,从相机中取好照片,做手动标定。

枚举属性函数可以枚举相机支持的所有属性。枚举的数据包含了属性的类型、是否允许读写、属性名称等。

Session In为相机摄像头的引用输入。

下图为标定板,规格为2-7×7,此图没显示完,不影响实际标定,因为只取图中九点。

Session Out相机引用输出。

Attribute Information Array属性信息数组:显示所有枚举出来的信息。

2、在显示控件中找到对应参数字符串

机器视觉篇之相机标定

选择某款视觉平台软件,识别图像中圆的像素坐标值,这里没有太多要求,只做介绍,其它软件识别方法或原理类似。

通过显示控件,找到需要修改参数的对应字符串,如图2所示。本文中以修改曝光时间为例。

「职场技能」LabVIEW编程基础:标定相机参数

图2 枚举函数显示控件

机器视觉篇之相机标定

如上图表格显示数据所示,图中42个圆的直径、圆度、像素坐标都已识别得出结果。我们选其中九个点X,Y的像素坐标值做为标定点,并规定好与实际应用的X,Y方向。这里演示规定,以图像的左下角为原点(0,0),那么规定向上为硬件实际的X方向,图片的右边规定为硬件实际的Y方向。

从图示知控制曝光时间的字符串为Controls::Exposure::ExposureTimeAbs。

机器视觉篇之相机标定

如上图建立坐标系,对应好九个点的像素坐标跟实际坐标,如下表格所示。

3、创建属性节点

机器视觉篇之相机标定

选择某款视觉软件,进行手动标定,这里没有太多要求,只做介绍,其它品牌软件标定方法或原理类似。把上面列好值输入到软件中,得到6个标定数据。

机器视觉篇之相机标定

如有机器人需要建立好实际的坐标系,跟相机进行关联。取标定好的数据,进行图像数据转化,实现位置纠偏等功能。

荐:

【中国风动漫】除了《哪吒》,这些良心国产动画也应该被更多人知道!

声明

来源:网络,人工智能产业链联盟推荐阅读,不代表人工智能产业链联盟立场,转载请注明,如涉及作品版权问题,请联系我们删除或做相关处理!

通过第二步得到的字符串创建对应属性节点。

「职场技能」LabVIEW编程基础:标定相机参数

图三 创建属性节点

二、labview 标定相机参数

标定相机的参数是labview工具箱对相机参数的标定只能得到相机的焦距,具体的畸变系数什么的,通过这个工具箱我还没有得到,但是他提供的相机内参的函数是可以得到的,今天先把这个工具说完,等以后就开始用labview的代码去讲了,然后还会穿插一些原理性的东西,就想这个相机标定,其实网上的原理已经都讲烂了,但是说实话我还没看到哪篇文章把这部分的原理说的很直白数码相机参数,都是很官方的各种公式,我当时看的时候也很吃力,下一步准备把原理这块简单说说,当然今天还是把这个工具说完。上图

「职场技能」LabVIEW编程基础:标定相机参数

今天要说的就是这个,相机模式,下边已经解释得挺明白了,用5幅图片得到相机参数以及镜头的畸变。我这水平都能翻译过来,嗯,你也可以好,下一步。

「职场技能」LabVIEW编程基础:标定相机参数

这里会发现多一个reference,参考的意思,也就说会以这个平面为基准来修正透视畸变,所以最好选择跟镜头光轴垂直的图像,这个参考平面的选择还是有影响的,这里我选择了图1.基本上和光轴垂直。下一步。

「职场技能」LabVIEW编程基础:标定相机参数

这里对特征点进行提取,注意箭头部分,5张图片是需要分别提取特征的,而且没张图片提取特征点的方式和阈值都是独立的,好的 ,我再放一张看一下吧。

「职场技能」LabVIEW编程基础:标定相机参数

一般阈值什么都不需要改,我也只是改了一下区域,每张图片都要重新调整一下。我就不贴5张图了。下一步

「职场技能」LabVIEW编程基础:标定相机参数

到这一步就跟以前差不多了,还是选择间隔,下一步。

「职场技能」LabVIEW编程基础:标定相机参数

可以看到多了两个参数,一个是焦距,一个光学中心,也就是光轴位置。单位都是像素,理论上如果知道图像传感器一个像素点的尺寸我们是可以计算出焦距的长度的,但是我用的这个就是普通的网络摄像头,并不是工业相机,所以相机的一些真实参数我还真就不知道,所以,基本上我就相信这个值是可以得到了,因为上边也会给出一些误差参数,我们也可以跟据这个误差参数去衡量一下自己的标定结果。如果你用的是工业相机,是可以得到真实的相机焦距的,下一步。

「职场技能」LabVIEW编程基础:标定相机参数「职场技能」LabVIEW编程基础:标定相机参数

检查标定结果,保存就好了。

【课程推荐】

接下来,我再来为大家介绍下训练营能更好的帮助工程师突破技术瓶颈的理由:

1、 含金量高,大疆高级工程师、德赛研发总监背书

这门课程在工业自动化领域的影响力非同小可。工程师John.liu通过学习LabVIEW技术迈了职业生涯的又一高峰进入全球顶尖无人机公司——深圳大彊创新科技有限公司。

获得不少业内知名大咖的推荐:

• 李卫明曾担任大族激光自动化部门经理,现任德赛自动化技术有限公司软件研发部总监

随着国内人力成本越来越高,制造业面临转型升级的重要契机,中国制造想要走在世界前端,自动化是最好的突破点,而学习这些,如果有一套完整的,适合不同层次技术人员,可更容易被大家所掌握的课程体系,将对行业发展有更大的促进。我详细看了这套课程目录大纲,结合我多年自动化项目经验,认为其逻辑思维清晰,排序合理,与实际项目中所用到的知识点联系紧密,非常适合想进入到该领域的朋友。

• 孙柏羽现任深圳市拓普联科技术有限公司自动化部门经理

机器视觉相比传统的传感器检测技术,最大的优点是可以模拟人眼进行品质检测,广泛用于生产制造的各个环节,是企业提升产能,保障质量的必备利器。

随着制造业的飞速发展,视觉逐渐发展为行业内越来越热门的领域,龙哥团队多年来耕耘于视觉领域,拥有丰富的项目经验,其团队开发的视觉课程涵盖了行业内常用视觉功能,与传统教程项目更贴近实际应用。

• 黄Daniel国内最早一批LabVIEW视觉工程师 任职于杰士德精密工业有限公司

与大多数视觉教程相比,该教程结合丰富的实例与应用,以LabVIEW为工具,将学员一步一步的领入视觉的世界。课程中的案例实用性非常强,非常适合初次接触机器视觉或者自动化领域的工程技术人员。

• John.liu DJI深圳大彊 高级工程师

作为一名工程师原来只想做好生产技术但随着产线自动化程度的提高让我对视觉产生了浓厚的兴趣遇到龙老师并得到他的真传纯属机缘巧合,经过他的悉心指导让我迈了职业生涯的又一高峰进入全球顶尖无人机公司——深圳大彊创新科技有限公司,掌握视觉未来无限可能。

2、训练营课程还配备了一系列“自学”无法享有的一体化服务:

• LabVIEW特训班全套视频教程

• 每日安排学习任务,作业,班主任+助教全天监督

• 8场课程答疑直播(酌情增加1-2场)

• 13小时/天技术支持,不懂也可远程操作指导

• 每周5天课程+复习2天,作业布置巩固学习知识技能

• 每日班级群交流、导师实时答疑、作业批改+定期直播答疑

• 结业课程考试,颁发证书

• 额外项目实用技巧,助力学员应用于实际项目。每周直播课程,除了讲解学员的作业疑问,还额外讲解一些项目实用技巧:如机种/菜单/视觉算子优化封装/绑定硬件加密/软件激活试用期,等非常实用的编程技能。

3、全面系统的课程设计

训练营将通过8周的逐步突破课程体系化提升学员的机器视觉技术。相对于市面上繁杂、没有针对性且碎片化的课程来说,训练营课程从视觉算子到软件框架都有非常全面的讲解。具体可见8周学习路径:

「职场技能」LabVIEW编程基础:标定相机参数

我们相信:凭借专业的课程导师+体系化的课程内容+配套的一体化服务,你必然可以真正掌握labveiw技能,花最少的时间学到最硬核的技术。

「职场技能」LabVIEW编程基础:标定相机参数

迄今为止,这门课程已经开班2期,学习效果经过100+位同学的亲身验证。如果你正好处于LabVIEW工程师生涯1-3年这个阶段的瓶颈期,想要快速突破,希望这门课程能够帮到你。

目前优惠价格1899元仅剩15个名额

助教:18123773580