使用校准相机测量平面物体

简介: 使用校准相机测量平面物体。

​一、前言
使用单个校准相机以世界单位测量硬币的直径。
校准相机,然后使用它来测量平面对象(如硬币)的大小。这种方法的一个示例应用是测量传送带上的零件以进行质量控制。

二、校准相机
相机校准是估计镜头和图像传感器参数的过程。需要这些参数来测量相机捕获的对象。此示例演示如何以编程方式校准相机。

为了校准相机,我们首先需要从不同角度拍摄校准图案的多张图像。典型的校准模式是不对称棋盘格,其中一侧包含偶数个正方形,包括黑色和白色,另一侧包含奇数个正方形。

图案必须固定在平面上,并且与相机的距离应与要测量的对象大致相同。正方形的大小必须尽可能精确地以世界单位(例如毫米)进行测量。在本例中,我们使用 9 张图案图像,但在实践中建议使用 10 到 20 张图像进行精确校准。

三、准备校准图像
创建校准图像文件名的单元数组。
1.png

四、估计相机参数
2.png

条形图表示校准的准确性。每个条形显示相应校准图像的平均重投影误差。重投影误差是在图像中检测到的角点与投影到图像中的相应理想世界点之间的距离。

五、读取待测物体的图像
加载包含要测量的对象的图像。此图像包括校准图案,并且图案与要测量的对象位于同一平面上。在此示例中,图案和硬币都位于同一桌面上。

或者,您可以使用两个单独的图像:一个包含图案,另一个包含要测量的对象。同样,对象和图案必须位于同一平面上。此外,必须从完全相同的视点捕获图像,这意味着相机必须固定到位。
3.png

六、不扭曲图像
使用相机参数对象从图像中删除镜头失真。这对于精确测量是必要的。
4.png

请注意,此图像的镜头畸变非常小。如果您使用广角镜头或低端网络摄像头,则不失真步骤更为重要。

七、分段硬币
在这种情况下,硬币在白色背景上是彩色的。使用图像的 HSV 表示的饱和分量将它们分割出来。
5.png

八、检测硬币
我们可以假设分割图像中两个最大的连接组件对应于硬币。
6.png

九、总结
此示例展示了如何使用校准的相机来测量平面对象。请注意,测量精度在0.2毫米以内。

目录
相关文章
|
4月前
相机镜头选择和计算
相机镜头选择和计算
25 0
|
6月前
|
传感器 编解码 算法
LabVIEW计算相机图像传感器分辨率以及镜头焦距
LabVIEW计算相机图像传感器分辨率以及镜头焦距
51 0
|
6月前
|
编解码 机器人
标定系列一、手眼标定基础介绍
标定系列一、手眼标定基础介绍
167 0
|
6月前
|
资源调度 算法
[Halcon&测量] 一维测量
[Halcon&测量] 一维测量
185 0
[Halcon&测量] 一维测量
|
6月前
|
算法
[Halcon&标定] 相机自标定
[Halcon&标定] 相机自标定
150 1
|
6月前
|
传感器 机器学习/深度学习 存储
使用激光雷达(LiDAR)和相机进行3D物体跟踪
使用激光雷达(LiDAR)和相机进行3D物体跟踪
|
6月前
Halcon&测量] 模糊测量
Halcon&测量] 模糊测量
127 0
|
6月前
[Halcon&测量] 两线直线的角度测量
[Halcon&测量] 两线直线的角度测量
146 0
|
存储 传感器 数据可视化
使用激光雷达检测地平面和障碍物
通过分割地平面并查找附近的障碍物来处理来自安装在车辆上的传感器的 3-D 激光雷达数据。这可以促进车辆导航的可驾驶路径规划。该示例还演示如何可视化流式激光雷达数据。
181 0
|
算法 C语言
红外热成像仪测温模块 阵列插值-由 32*24 像素到 512*384 像素
MLX90640 的 32*24=768 像素虽然比以往的 8*8 或者 16*8 像素提高了很多,但若直接用这些像素还是不能很好的形成热像图,为了使用这些像素点平滑成像就需要对其进行插值,使用更多的像素来绘制图像。 看了一些别人的算法,感觉主要就是多项式插值,仅是插值方法的组合方式不同。
红外热成像仪测温模块 阵列插值-由 32*24 像素到 512*384 像素