视觉测量基础

1. 相机模型

1.1 坐标系转换原理

世界坐标系(world Coords):点在真实世界中的位置,描述相机位置。

相机坐标系(Cameras Coords):以相机光学系统中心(镜头中心)为原点,建立相机坐标系。
图像物理坐标系(Film Coords):经过小孔成像后得到的二维坐标系,单位mm。

像素坐标系(Pixel Coords):成像点在相机 sensor上像素的行数和列数,原点为图像左上角,不带有任何物理单位,或者说单位是pixel。
主点:主光线与像平面相交的位置,这个交点取决于镜头的光轴,一般情况下图像中心不可能和主点严格对准。

像素坐标系uv-图像坐标系xy-相机坐标系c-世界坐标系w

其中从像素坐标系-相机坐标系的转换为:

 如果世界坐标系是相对相机坐标系在z_{c}方向平移了距离d,且z_{w}=0,则旋转矩阵R=I,平移矩阵T=\begin{bmatrix} 0\\ 0 \\ d \end{bmatrix},则

 

 1.2 镜头畸变

径向畸变

切向畸变

2. 相机标定

2.1 相机内参(矩阵)

matlab标定:拍摄的多张图片中最终会计算出唯一的内参M,而外参每张图片都会对应有一个,由于我们的目的是为了测量目标点到相机位置的横纵向距离,所以可以将Zw值设置为0;世界坐标系的原点默认为棋盘格左上角的交点。

2.2 相机外参

取实际工作平面标定得到的外参矩阵R、T。 

2.3 张正友标定法

在多个视点采集平面标定板的图像,使用五参数摄像机模型和四阶透镜变形的径向畸变模型。

在不考虑畸变的情况下,初次标定内参的五个参数,接着使用内参对畸变系数进行标定,重复循环计算直到收敛。使用极大似然法计算单应性矩阵,代入标定图像数据,计算相机内参。继续计算外参和畸变系数。

参考:https://zhuanlan.zhihu.com/p/445872994?utm_medium=social&utm_oi=746817410819977216

3. 距离测量 

坐标系转换

使z_{w}=0,将内参矩阵和外参矩阵参数代入,可求得z_{c},实际上在坐标系的转换中z_{c}可以被消掉,不影响计算过程。

参考:单目相机测距

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/228809.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

漏洞扫描-德迅云安全漏洞扫描服务

漏洞扫描是指基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用漏洞的一种安全检测的行为。 漏洞扫描的主要目的是发现系统、网络或应用程序中可能存在的安全漏洞和缺陷,以便及时修复这些漏洞和缺…

浅谈安科瑞网络电力仪表在斯里兰卡某项目的应用

摘要:安科瑞APM系列网络仪表适用于高低压柜,进线以及出线处的全电量测量及监测。 Absrtact: APM series of network power meter are suitable for full power measurement and monitoring of high and low voltage cabinets, incoming and outgoing li…

1.2 C语言之变量与算数运算表达式概述

1.2 C语言之变量与算数运算表达式概述 一、华氏温度与摄氏温度对照二、代码概述三、练习 一、华氏温度与摄氏温度对照 #include <stdio.h>/*当华氏温度为 0,20,40,...300时&#xff0c;打印出华氏温度与摄氏温度对照表华氏温度与摄氏温度 C(5/9)(̧F-32) 其中C表示摄氏温…

算法面试题--树与对象数组的转化

1. Array -> Tree var arr [{ id: 12, parentId: 1, name: "朝阳区" },{ id: 241, parentId: 24, name: "田林街道" },{ id: 31, parentId: 3, name: "广州市" },{ id: 13, parentId: 1, name: "昌平区" },{ id: 2421, parentId:…

物理层之码分复用(内含相关例题)

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…

智能井盖传感器怎么监测井盖倾斜?

城市道路上的井盖是常见的安全隐患&#xff0c;由于井盖质量不过关、安装不合理等原因导致的井盖位移或倾斜等事故&#xff0c;每年都处于不断增加的状态。为了减少此类案件的发生并维护社会治安&#xff0c;国家相关部门已经制定了多项政策法规对井盖进行统一监管。鼓励各个城…

这款高性能分布式ID生成器,现在是你的了~

这是DDD&微服务系列的第17篇&#xff0c;欢迎持续关注~ 概述 在软件开发过程中&#xff0c;我们经常会遇到需要生成全局唯一流水号的场景&#xff0c;例如各种流水号和分库分表的分布式主键ID。特别是在使用MySQL数据库时&#xff0c;除了要求流水号具有“全局唯一”性外&…

第二十章 多线程总结

继承Thread 类 Thread 类时 java.lang 包中的一个类&#xff0c;从类中实例化的对象代表线程&#xff0c;程序员启动一个新线程需要建立 Thread 实例。 Thread 对象需要一个任务来执行&#xff0c;任务是指线程在启动时执行的工作&#xff0c;start() 方法启动线程&…

Vue3 Teleport

假设情景 以下面截图为例&#xff0c;A组件中可以操控数字的加减&#xff0c;想把这个功能放到B组件中使用&#xff0c;AB两个组件非父子组件&#xff0c;甚至可能被嵌套了其他组件&#xff0c;一般办法可能是将A组件数据传给AB组件的父组件&#xff0c;然后在相办法给B&#…

将二维数组ndarray转置ndarray.T

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将二维数组ndarray转置 ndarray.T 选择题 执行以下代码transposed_arr的输出结果为&#xff1f; import numpy as np arr np.array([[1, 2, 3], [4, 5, 6]]) transposed_arr arr.T print(&q…

MySQL索引优化实战一

#插入一些示例数据drop procedure if exists insert_emp;delimiter ;;create procedure insert_emp()begindeclare i int;set i1;while(i<100000)doinsert into employees(name,age,position) values(CONCAT(tqq,i),i,dev);set ii1;end while;end;;delimiter ;call insert_e…

数据扩增(Data Augmentation)、正则化(Regularization)和早停止(Early Stopping)

数据扩增&#xff08;Data Augmentation&#xff09;、正则化&#xff08;Regularization&#xff09;和早停止&#xff08;Early Stopping&#xff09;是深度学习中常用的三种技术&#xff0c;它们有助于提高模型的泛化性能和防止过拟合 数据扩增&#xff08;Data Augmentati…