| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 计算机视觉(四)相机标定 -> 正文阅读 |
|
[人工智能]计算机视觉(四)相机标定 |
摄像机几何 ①? 世界坐标系与相机坐标系 ② 相机坐标系与图像物理坐标系 这是一个将三维的坐标系转化为二维的坐标系,这两个坐标系之间的转换要通过几何投影模型关系获得 ③ 图像物理坐标系与图像像素坐标系 首先以一个形象的例子来说明两个坐标系间的区别。物理坐标系是一个连续的概念,它是以毫米为单位,就好比某一观众在电影院里的具体坐标值(3.4,5.9);而像素坐标系是一个离散的概念,它是以像素作为单位,只能是整数值坐标,就好比某一观众在电影院里的位置是(第三排,第六列)。另外还需要注意的是,这两个坐标系的原点位置也不相同,物理坐标系将原点定为摄像机光轴与图像物理坐标系的交点位置,通常称其为主点;而像素坐标系则以像素图像的左上角为原点。 整体的变换为: R为旋转变换矩阵,T为平移变换矩阵,K为内参数矩阵 内参数矩阵有五个自由度 a=焦距*像素相关的x尺度因子,b=焦距*像素相关的y尺度因子,o=像素坐标系旋转角度(像素非垂直而是有夹角),cx,cy=像素偏移量(像素坐标左下角到xy中心点距离) 标定板的选择 棋盘标定板:在对标定板进行初步检测后,可以以非常高的精度确定角点位置。这是因为角(数学上:鞍点)基本上是无限小的,因此在透视变换或镜头失真下是无偏的。但是在OpenCV中,整个棋盘必须在所有图像中可见才能被检测到。这通常使得从图像的边缘获取信息变得困难。这些区域通常是很好的信息来源,因为它们适当地约束了镜头失真模型。 圆形标定板:圆的确定可以非常精确,因为可以使用圆外围的所有像素,减少了图像噪声的影响。但是,在相机视角下,圆形被成像为椭圆。 张正友标定? 相机的标定是根据像素坐标系与世界坐标系的关系,利用一定的约束条件,来求解相机的内外参数以及畸变系数的过程 但是传统标定法的标定板是需要三维的,需要非常精确,这很难制作,而张正友教授提出的方法介于传统标定法和自标定法之间,但克服了传统标定法需要的高精度标定物的缺点,而仅需使用一个打印出来的棋盘格就可以。同时也相对于自标定而言,提高了精度,便于操作。因此张氏标定法被广泛应用于计算机视觉方面。 使用opencv的代码实现
?因为opencv中的findChessboardCorners函数对检测图片质量的要求很高,所以非常容易返回为空,false,导致后续操作产生错误 经过百度,opencv4的?findChessboardCornersSB函数鲁棒性更高,似乎能解决这个问题 但是这里直接使用matlib来做 ? ?最后导出相机参数 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 2:25:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |