初探单目相机测距——相机标定

简介: 初探单目相机测距——相机标定

标定准备


  单目相机可以根据相似三角形原理进行图像测距,在测距之前需要作如下准备:


  1. 单目相机一个(实验用可任意购买,一般越便宜的精度自然就越差了)


  1. 标定版一个(可上OpenCv官网下载)


  1. MATLAB中CameraCalibrator工具箱(或者自行采用张氏标定法进行标定)


  1. 待测目标



标定步骤


  我们将准备好单目相机连接PC端测试验证是否连接好,固定好我们的标定板,使用单目相机对准标定板进行拍照,这里我拍摄了42组图像(如下图所示:)


image.png

打开matlab的CameraCalibrator工具箱点击AddImages,选择From file从你拍摄标定板图像,然后设置实体标定板上黑色方块的边长,点击确定等待导入。


在导入后选择普通相机(另一个选项是鱼眼相机),然后点击设置(Options) 在复选框这里点击2 Coefficients SKew Tangential Distortior 点击运行(Calibrate)待运行完毕后,导出数据,在工作区内查看KP内参矩阵和焦距。

image.png

image.png

image.png

image.png

image.png


image.png

image.png

image.png


标定结果


相机标定图像以及MSE图像(PDD9.9包邮相机,误差大了些哈哈)

image.png

image.png

根据张氏测距可得如下参数:

P值
P1 0.00770644
P1 0.014762425
焦距
FX 1321.395754
FY 1308.603399
K值
K1 0.080593716
K2 -0.0025207783
K3 0
内参矩阵:
1321.395754 0 0
13.90004046 1308.603399 0
1254.996814 621.1465241 1



相关文章
|
机器学习/深度学习 存储 监控
yolov5单目测距+速度测量+目标跟踪(算法介绍和代码)
yolov5单目测距+速度测量+目标跟踪(算法介绍和代码)
|
传感器 C++ 计算机视觉
【opencv3】详述PnP测距完整流程(附C++代码)
【opencv3】详述PnP测距完整流程(附C++代码)
1528 0
|
编解码 前端开发 算法
基于OpenCV的双目摄像头测距(误差小)
首先进行双目摄像头定标,获取双目摄像头内部的参数后,进行测距;本文的双目视觉测距是基于BM算法。注意:双目定标的效果会影响测距的精准度,建议大家在做双目定标时,做好一些(尽量让误差小)。
12595 3
基于OpenCV的双目摄像头测距(误差小)
|
Docker 容器
docker 中使用lspci踩坑
docker中使用lspci,无法加载libkmod资源问题记录
1683 0
|
机器学习/深度学习 人工智能 算法
人工智能在医疗诊断中的应用与挑战
本文探讨了人工智能(AI)在医疗诊断领域的应用及其面临的挑战。随着技术的不断进步,AI已经在医学影像分析、疾病预测和个性化治疗等方面展现出巨大潜力。然而,数据隐私、算法透明度以及临床整合等问题仍然是亟待解决的关键问题。本文旨在通过分析当前AI技术在医疗诊断中的具体应用案例,探讨其带来的优势和潜在风险,并提出相应的解决策略,以期为未来AI在医疗领域的深入应用提供参考。
425 3
|
网络安全 Windows
windows电脑如何打开telnet工具
这篇文章提供了在Windows电脑上启用Telnet客户端工具的详细步骤,包括通过控制面板启用Telnet功能,并展示了启用前后的效果对比。
windows电脑如何打开telnet工具
|
自动驾驶 计算机视觉
单目测距(yolo目标检测+标定+测距代码)下
单目测距(yolo目标检测+标定+测距代码)
|
移动开发 Unix Linux
vscode 换行符\n 变成\r\n
VSCode是一个开源的强大代码编写器,但是如果没有好好的配置使用,会适得其反。 这里总结VSCode的一些配置,方便自己查询,也方便网友。 1、编辑器配置 为特定类型文件指定缩进大小、缩进类型(空格,或tab),是否自动插入末行等等。
7887 0
|
并行计算 数据可视化 PyTorch
单目3D目标检测——MonoCon 模型训练 | 模型推理
本文分享 MonoCon 的模型训练、模型推理、可视化3D检测结果、以及可视化BEV效果。
740 0
|
传感器 算法 计算机视觉
单目测距(yolo目标检测+标定+测距代码)上
单目测距(yolo目标检测+标定+测距代码)