工作以来,实习以及后面工作偏向都不一样,既有偏硬件又有偏纯软的开发。与硬件开发有关的则是对工业相机以及设备的了解。本期系类则是自己对硬件开发的一些汇总,希望能帮助到大家。作者有过3D,2D的相机使用以及识别,大致在这里说一说自己的一些认识,但自己也可能对此认识不深或者有错误的地方,权当一个抛砖引玉,有错误还希望大家留言指出。
对于视觉上我们要知道的硬件大概就是相机 镜头 光源。同时可能我们会做运动控制的类的,这就需要我们熟悉一些常见的运动控制卡
相机标定
相机标定就是标定相机内外参数,可以参考这篇文章 相机标定原理介绍(一) - Jessica&jie - 博客园 (cnblogs.com) 。一般的2D的工业相机厂商都已经帮我们矫正了,如果需要更加精准度,则可以自己相机矫正。3D的相机,厂商一般有自带的矫正相机内外参的软件,按照厂商软件的说明手册进行标定即可。作者对于相机标定的也是不太深入,之前做公司做3D相机,是有3D相机的标定软件的。
手眼标定
基本上抓取类识别的设备,都会进行手眼标定,这个标定在我认为是计算得到从机械坐标系到相机坐标系的一个旋转矩阵。一般而言坐标系为3维度,无论是2D 还是3D(2D本质就是Z轴是一个固定的常量)我们都会得到一个3*3的矩阵。从而这个旋转矩阵乘以物体在相机中的坐标就能得到物体在机械坐标系下的坐标(这里参照机器人学的位姿转换,旋转矩阵的运算则是利用线性代数计算出来)。无论是halcon还是opencv里的九点标定,都是这个道理。
手眼标定_wg-CSDN博客_手眼标定
一些解答
很多情况下,我们都是用的是模板匹配,无论是halcon的基于形状还是基于灰度值,要在图像上找到与模板匹配的区域,至于特征点一般取该区域的中心点。如果不能很好做的模板,则可以通过一些流程化
这篇文章写的还是有点凌乱的,大佬看了如果发现有错误,欢迎私信给我。下一篇打算发 相机取图 轴卡控制 UVW平台的概要。