基于树莓派模板定位的图像校准算法的实现

科技   科技   2025-01-13 07:47   北京  


01
模板定位概述


模板匹配有两种应用场合:产品分类、产品定位。


产品分类即根据模板匹配的分数位置和角度完成图像的检测,可根据检测模板的匹配分数、角度和位置完成产品良品与不良品的判断,具体实现见基于树莓派的模板匹配算法(含演示视频)


产品定位即根据匹配模板在产品中的位置进行图像矫正,从而完成图像位置的矫正,可有效降低产品对产品治具的要求,降低视觉检测难度,提高图像检测精度。


图像矫正主要分为仿射变换和透视变换,由于视觉检测项目中相机、镜头等位置已经过精密的调整和校准,因此视觉项目中常用的图像矫正即仿射变换换,也就是根据物体在相机中移动距离和旋转角度进行矫正。


根据模板匹配的产品定位即根据检测时产品在相机视野中的位置与模板图像中的位置和角度进行对比,进而进行位置和角度矫正。


仿射变换基础

图像仿射变换在Opencv中有成熟的算子可以进行调用。


仿射变换是指在向量空间中进行一次线性变换(乘以一个矩阵)并加上一个平移(加上一个向量),变换为另一个向量空间的过程。


在有限维的情况下,每个仿射变换可以由一个矩阵A和一个向量b给出,它可以写作A和一个附加的列b。一个仿射变换对应于一个矩阵和一个向量的乘法,而仿射变换的复合对应于普通的矩阵乘法,只要加入一个额外的行到矩阵的底下,这一行全部是0除了最右边是一个1,而列向量的底下要加上一个1.
Affine Transform描述了一种二维仿射变换的功能,它是一种二维坐标之间的线性变换,保持二维图形的“平直性”(即变换后直线还是直线,圆弧还是圆弧)和“平行性”(其实是保持二维图形间的相对位置关系不变,平行线还是平行线,而直线上的点位置顺序不变,另特别注意向量间夹角可能会发生变化)。


仿射变换可以通过一系列的原子变换的复合来实现包括:平移(Translation)、缩放(Scale)、翻转(Flip)、旋转(Rotation)和错切(Shear).

事实上,仿射变换代表的是两幅图之间的关系,我们通常使用2x3矩阵来表示仿射变换如下:

考虑到我们要使用矩阵A和B对二维向量做变换,所以也能表示为下列形式:

得到如下结果:


变换矩阵求法


已知检测图像模板相对训练模板的位置差和角度差,即旋转和平移。


首先采用getRotationMatrix2D(Center, Angle, 1)得到图像绕检测图像模板中心的旋转矩阵。


然后将平移量融合到旋转矩阵中即可,具体如下


 M.at(0, 2) += X;

  M.at(1, 2) += Y;

树莓派效果展示

采用树莓派实现了图像定位以及校准过程,如下:


欢迎大家批评指正!





●作者简介及联系方式●


作者:老木
哈尔滨工业大学机器视觉专业硕士

8年机器视觉行业从业经验,实操经验丰富,独立完成百余项视觉项目开发,设计视觉系统搭建、缺陷处理、视觉引导机械手等项目,具备丰富的图像处理知识、视觉方案搭建经验。

运作团队--目为视觉科技工作室

提供的服务主要包含以下三个方面:
1.源码下载
点击公众号下方源码下载按钮,查找自己需要的源码进行下载。
2.教程分析
点击公众号下方源码下载按钮可进入原创教程按钮,进行Halcon在线学习。
3.免编程视觉检测系统
本团队提供MvPro视觉检测系统,免编程,可快速应用于视觉检测项目,可定制开发视觉系统。

微信号:chailiren27


长按下方二维码识别免费关注



机器视觉课堂
OpenCV、Halcon等机器视觉专业学习交流平台,服务于工业自动化、先进机器人技术、人工智能等相关专业技术人才。定期发布最新机器视觉相关新闻、应用案例、技术资料、展会信息等信息。
 最新文章