当前位置: 首页 > article >正文

机器视觉:9点标定的原理与实现

一、什么是标定

标定就是将机器视觉处理得到的像素坐标转换成实际项目中使用到的毫米坐标。简单说即使看看实际单位距离内有几个像素,如下图所示,10mm的距离内有222个像素,那像素坐标和实际的毫米坐标就有个比例关系了。

二、九点标定

9点标定的算法主要用于建立相机像素坐标与机械手世界坐标之间的转换关系。通过已知的9个点的图像坐标和对应的机械坐标,直接计算转换矩阵,核心原理就是最小二乘拟合。

9点标定的核心在于通过少量的点来精确计算坐标转换关系,适用于2D平面上的仿射变换,9点标定不仅计算简单,而且在实际应用中非常有效。

具体步骤包括:

1、制作9点标定板或者标定图,通常是3*3的阵列排列,确保相机的视野能覆盖到所有的点,一般这些点是圆形的标记。

2、相机拍照,在图片上找到这9个圆点的中心坐标,并记录下来,同时也要记录下这些点的机械坐标。

3、使用采集到的图像坐标和机械坐标,通过最小二乘法计算出一个3*3的转换矩阵。

4、得到转换矩阵后,可以用它将新的图像坐标换成机械坐标,从而实现相机和机械手的协调工作。

三、最小二乘法的原理

最小二乘法拟合的目的就是找到使误差平方和最小的参数值。

他的基本原理就是找到一个函数曲线,使得该曲线和实际数据点之间的误差最小。具体而言,最小二乘法通过找到使误差平方和最小的参数值,来得到最佳的拟合曲线。误差是指实际数据点与拟合曲线之间的差异,平方和的最小化是为了消除正负差异的影响并凸显较大误差的重要性。

最小二乘法公式在数学砂锅称为曲线拟合,不仅仅包括线性回归方程,还包括矩阵的最小二乘法。现象最小二乘法就是二元一次方程,矩阵的最小二乘法就是两个方向上的二元一次方程了,如下所示:

四、 9点标定的工程实现

1、获取实心圆矩阵坐标上的圆心坐标,有几个关键的参数

        获取标定板的图像Img;

        9个圆点的极性,是黑点白背景,还是白点黑背景;

        提取圆点的灰度阈值是多少,为了在比较模糊的图像中获取圆点;

        圆点的面积范围,算法要找圆点,得给个大致的范围,圆点有多大得告诉算法。

2、计算图像坐标和世界坐标的映射关系

        图像坐标是通过拍照,软件找到圆点算出来的像素坐标,世界坐标就是标定板上9个点的实际坐标;

        还需要标定图像的高度和宽度;

        计算得到映射关系,有的叫做转换关系;

        映射关系通过最小二乘法计算出来,MATLAB,halcon的库都有现成的函数可用。

        当然计算出来的转换关系是要保存下来的,以后每次都可以使用,用不着每次都去标定一下。

        


http://www.kler.cn/news/368511.html

相关文章:

  • 51单片机完全学习——红外遥控
  • 多元线性回归【正规方程/sklearn】
  • ThinkPad T480拆机屏幕改装:便携式显示器DIY指南
  • 哪些CRM系统适合医疗行业?主流10款产品全解析
  • 编写一个简单的Iinput_dev框架
  • eks节点的网络策略配置机制解析
  • [专有网络VPC]ECS安全组配置案例
  • 【Python知识】一个强大的数据分析库Pandas
  • 基于Python的B站视频数据分析与可视化
  • Spring Boot框架下租房管理系统的设计与实现
  • spring-ai-alibaba下载
  • 【认知智能】编译器1
  • DataX
  • Oracle 权限相关的概念
  • Chromium HTML5 新的 Input 类型email对应c++
  • pikachu靶场-Cross-Site Scripting(XSS)
  • node学习笔记
  • Python 函数返回值之None类型
  • 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——15.C++11(1)
  • 控制Arduino的利器-Windows Remote Arduino
  • 基于SpringCloud的WMS管理系统源码
  • 如何搭建一部引人入胜的短剧小程序
  • 代码随想录算法训练营第二十五天|Day25 回溯算法
  • 关于AI网络架构的文章
  • Leetcode4:寻找两个正数数组中的中位数
  • 问:MySQL中的常用SQL函数整理?