C# 基于OpenCv的视觉工作流-章58-相机标定

C# 基于OpenCv的视觉工作流-章58-相机标定

本章目标:
一、图像坐标与世界坐标关系;
二、多视几何;
三、为什么要相机标定;
四、相机标定;


一、图像坐标与世界坐标关系

拿着相机,对真实世界拍一张照,照片上某一个像素点坐标与真实世界的坐标关系,如下图所示。

公式中有5个参数,图像坐标(u,v)、相机内参K、相机外参R、相机外参T、世界坐标(X,Y,Z),通过已知的某些参数,可以求得其它参数,如下图。

二、多视几何

如图,x为图像坐标,X为世界坐标,用相机从多个角度拍同一个点;

1、三角化,根据已知参数x、K、R、t,,可算出该点的世界坐标,多目视觉,无人驾驶等应用;

2、姿态估计,根据已知参数x、X、K,可求出相机是在哪个位置进行拍照;

3、机相标定,根据已知参数x、X,可求出K、R、t值,通过多张图片,实现相机标定;

4、稀疏重建,根据已知参数x,求其它参数,通过几万更多的图像,还原真实世界的3D场景;

三、为什么要相机标定




四、相机标定

相机标定除了解决图像变型外,在图像测量中也会使用到,本文以张正友博士的标定方法进行标定。



1.加载图像

2、标定

对每张图像进行特征点提取,计算内外参数及计算误差,此步会取得相机内参K及畸变系数,用这两个参数就可以进行图像校正了。

3、计算R、T参数

如果要进行图像测量,需要先求出R、T参数,才能根据图像坐标,自动计算出世界坐标。但上一步中每张图像都有各自的R、T参数,要取哪个作为使用参数呢?因为R、T参数就是相机的位姿,即相机摆在哪个位置。以相机固定拍照来测量为例,被测物放在哪里,就取标定板放相同位置时计算的R、T值。

软件中,取摆在相机正下方的标定板来计算R、T值(实际测量时,不要移动相机,将被测物放在相机正下方即可),会自动获取标定板各点的图像坐标,之后人为将各点对应的真实物理坐标值录入,点计算即可计算出K、R、T三个值,最后将三值保存即可。

有了K、R、T三个值,而图像坐标又是可以自动获取得,根据公式,就可以实现自动测量距离了。

参考链接

https://www.bilibili.com/video/BV1rJ4m1a7EC?spm_id_from=333.788.videopod.sections\&vd_source=3f9438f03abb9d3e91fda0640164d626

"VisionTool 探迹"免费视觉工具

下载地址:https://pan.baidu.com/s/11tktKOSnepLNIEqNbvnv6w?pwd=qv5i

"VisionTool Halcon"付费视觉工具 (淘宝可搜)

对应系列文章"C# 基于Halcon的视觉工作流",欢迎前往阅读。

上述内容需要一定的技术功底,本章至此已结束,欢迎阅读下章,谢谢!

相关推荐
AI导出鸭2 分钟前
怎么让Claude做表格?AI导出鸭苹果版将Claude输出的Markdown表格或结构化列表智能解析为二维数据,一键导出Excel/Word标准表格。
人工智能·chatgpt·word·excel·ai导出鸭
ACP广源盛139246256732 分钟前
Qwen3.8‑2.4T 开源落地@ACP#国产 MoE 大模型私有化部署中 MST 多屏转换芯片 GSV2231 硬件价值与应用场景
大数据·数据库·人工智能·嵌入式硬件
imaol13 分钟前
文件编程--标准IO
linux·运维·算法
夏雪coding5 分钟前
openpyxl 对账实战:金额浮点、前导零丢失、20 位单号科学计数法
人工智能·后端
青 春 记 忆7 分钟前
LeetCode 121. 买卖股票的最佳时机|Python 解法详解
python·算法·leetcode
网易云信11 分钟前
7 天,52 个 AI 员工“上岗”了|帝王蟹 AI 实战训练营首期收官
人工智能·线下活动
满怀冰雪12 分钟前
21-图像分类实战:从 MNIST 到 CIFAR-10
人工智能·python·深度学习·分类·数据挖掘·paddlepaddle
stolentime19 分钟前
AT_agc066_a [AGC066A] Adjacent Difference题解
c++·算法·贪心算法·构造
RobinDevNotes25 分钟前
K8s+DeepSpeed+vLLM打通大模型训练到上线全链路
人工智能
盖伦发发27 分钟前
RAG 能跑≠能用:用 EDD 把 Eval 做成基础设施 (附源码)
人工智能·后端·python·功能测试