相机标定中的战斗机--张氏标定法

news2025/1/12 20:00:29

张正友标定法--相机标定中的灭霸!

在上学期接触过calibration以后,下定决心要学一下张正友标定法的,然后没来的及学,寒假弥补一下。

参考博客:https://zhuanlan.zhihu.com/p/136827980

编辑切换为居中

添加图片注释,不超过 140 字(可选)

上面那3个矩阵相乘以后,得到单应矩阵H。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

就是说要想发挥出相机的高精度测量的能力,必须要进行标定。虽然相机在出厂的时候有标定的参数,但是这个出厂内参在实际使用过程中还是存在误差的,因此需要我们自行标定。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

张氏标定法的地位,上图所示。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

张正友标定法的简明流程,就是通过自行打印的棋盘格,然后从不同角度获取照片。然后一顿计算,便得到了我们想要的内参。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

标定说白了还是在提高相机的精度。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

这四个坐标系算是老朋友了,其中图像坐标系和像素坐标系是在一个平面上的,只不过两个坐标系的坐标原点不同,然后图像坐标系用xy表示,像素坐标系用uv表示。通常在写代码的时候我们一般默认uv就是像素坐标系上的点。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

上图就是4个坐标系之间的关系。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

基元矩阵:就是绕着一个轴进行旋转的旋转矩阵,比如只绕着x轴旋转,那么这个旋转矩阵就叫做基元矩阵。(这个我第一次见)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

正交矩阵和旋转矩阵之间的关系,首先正交矩阵的行列式的绝对值为1,当正交矩阵的行列式为1时,此矩阵为旋转矩阵。如果正交矩阵的行列式为-1,那么这个矩阵称为镜面反射矩阵。

镜面反射变换:当xyz三维空间时,镜面反射变换就是 x=x’ y=y’ z=-z’ 就是沿着z轴对折了一下,当然这里是举个例子,也可能沿x轴或者y轴对折。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

对乘法封闭。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

径向畸变的相关内容。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

上面的k1 k2 k3 p1 p2都是需要求解的畸变参数,这里的话畸变就是因为透镜的形状所引起的,但是这个畸变可以用数学的方式进行消除,所以没在透镜上面做文章。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

这个图还是需要熟悉的。从世界坐标系到相机坐标系到图像坐标系再到像素坐标系。然后分别对应的矩阵,每个矩阵里面的含义都要知道。然后dx dy表示一个像素对应了多少米,这样就把米这个长度单位转换到了像素上面。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

单应矩阵的应用:

编辑切换为居中

添加图片注释,不超过 140 字(可选)

算是单应矩阵的应用,发现视角转变竟然是用的单应矩阵。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

单应矩阵,使用相机拍摄棋盘格,然后进行H的计算。

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

编辑切换为居中

添加图片注释,不超过 140 字(可选)

张氏标定法就介绍到这里,对于这个方法的话如果不理解,也可以正确标出内参。使用matlab工具箱即可,集体操作过程可以自行百度搜索。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

车牌识别数据收集之自动化筛选工具

综述 最近在进行车牌识别的开发,在数据收集阶段除了那些特定的数据集(开源数据集),还需要自己收集一些数据,这些数据主要来自如爬虫、行车记录视频、非特定数据集,而在这些数据集中,只有少量的…

PCB结构和谐振(二)

PCB结构和谐振(一)实验研究在此章节中,我们通过不同的测试研究了旋转角度/复杂层叠/走线pitch和layout设计等,所有的测试都是基于Intel Delta L 4.0规范。旋转角度单层结构是一个简单的层叠,所以首先通过测试单层结构研…

成都远石无人机航测服务内容

成都远石无人机航测服务致力于为客户提供DEM、DSM、DOM、三维实景模型和机载激光雷达等数据成果,获得的数据成果在各个行业得到了应用和认可。相信大家对于DEM、DSM和DOM这些名词并不陌生,但对其内涵和差别却又比较模糊,接下来就讲一下这些数…

Android:OKhttp拦截器整理笔记

目录 正文 拦截器的自我实现 RetryAndFollowUpInterceptor BridgeInterceptor CacheInterceptor ConnectInterceptor CallServerInterceptor 运行一下 题外话 OkHttp是一个高效的HTTP库: 支持HTTP/2, HTTP/2通过使用多路复用技术在一个单独的TCP连接上支持并发, 通过…

Referer与XMLHttpRequest整理

Apache日志分割 1.原因 1.随着网络的访问量的增加,默认情况下Apache的单个日志文件也会越来越大。 2.日志文件占用磁盘空间很大 3.查看相关信息不方便2.对日志文件进行分割 1.Apache自带rotatelogs分割工具实现 2.第三方工具cronolog 分割3.配置日志分割(我用的p…

基于springboot+mybatis-plus+mysql+python+tensorflow2.0波导识别管理系统

基于springbootmybatis-plusmysqlpythontensorflow2.0波导识别管理系统一、系统介绍二、功能展示1.图片上传2.波导识别三、代码展示四、其它系统五、获取源码一、系统介绍 技术框架: 前端:vue 后端:springboot 算法:pythontensor…

用八叉树优化RayCasting

在之前的文章中,我们不得不等待 8 分钟来渲染一盏精灵灯和一个球体。 总而言之,我们询问每个像素是否有多个三角形之一相交。 这个场景包括: 4 个物体:1 个灯、2 个球体和 1 个平面34,378 个三角形:1 个球体没有三角形…

某音漂亮小姐姐视频合集一键下载,想看就看!

大家好,我是派森酱! 最近工作压力大,每天晚上回来基本洗洗就要睡了。但是总觉得一天就这么过去,有点遗憾,所以每天睡前躺床上刷刷抖音,看看美丽小姐姐,心情就会舒畅许多! 有些小姐姐…

架构师成长日记 - 01 4+1视图模型

文章目录 什么是软件架构什么是架构师?架构师的主要能力4+1视图模型逻辑视图(Logical View)开发视图(Development View)物理视图(Physical View)过程视图(Process View)场景视图(scenarios)软件建模语言什么是软件架构 软件架构是有关软件整体结构与组件的抽象描述,用于指导大…

StarkWare的Recursive STARKs

1. 引言 StarkWare的Recursive STARKs 为首个在以太坊主网上线的,针对通用计算的recursive stark proof方案: 递归证明目前已在以太坊主网上线: 扩容StarkEx app扩容StarkNet用于StarkWare的SaaS scaling engine用于permissionless rollup …

javaScript浅谈----asyncawait

什么是 async ? async/await 是 ES7 的标准,Promise 是 ES6 标准,async/await 这套 API 也是用来帮助我们写异步代码的,它是构建在 Promise 之上的。 async的特点: async 一般不单独使用,而是和 await 一…

3. 无重复字符的最长子串(滑动窗口)

文章目录题目描述暴力破解滑动窗口优化知识积累待解决题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输…

python 操作符介绍

python操作符分类:算数操作符;比较操作符;逻辑操作符;成员操作符;身份操作符; 1 算数操作符: 常用的算数操作符:; python如何执行除法: 许多编程语言中整数除法执行的…

另一半人马座,孟庭苇

我写过生于12月25日的半人马座桂纶镁《半人马座,桂纶镁》。射手座是11月23日-12月21日。而摩羯座的开始恰恰是:12月22日。而孟庭苇,恰恰就生于12月22日。她更是半人马座啊。1989年,20岁的孟庭苇出演铃木机车广告出道(没…

分享一套响应式自适应公司网站官网源码,带文字搭建教程

分享一套响应式自适应公司网站官网源码,带文字搭建教程。需要源码学习可私信我。 技术架构 PHP7.2 nginx mysql5.7 JS CSS HTML cnetos7以上 宝塔面板 系统介绍 1、四网合一企业网站管理系统支持在线升级(支持跨版本)、插件在线安装、系…

跳表SkipList介绍与实现

目录 一.跳表介绍 二.实现思路 (一).结点结构 (二).检索 (三).插入 (四).删除 三.实现代码 一.跳表介绍 跳表是一种随机化数据结构,主要用于快速检索数据。实质上…

JavaScript 函数

文章目录JavaScript 函数JavaScript 函数语法调用带参数的函数带有返回值的函数局部 JavaScript 变量全局 JavaScript 变量JavaScript 变量的生存期向未声明的 JavaScript 变量分配值笔记列表JavaScript 函数 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。 实…

Go语言之容器总结

目录 1.值类型 1.1. 数组Array 数组遍历 数组初始化 值拷贝 内置函数len、cap 2. 引用数据类型 2.1. 切片slice 切片初始化 切片的内存布局 通过slice修改struct array值 用append内置函数操作切片(切片追加) slice自动扩容 slice中cap重新…

基于yolov5算法的安全帽头盔检测源码+模型,Pytorch开发,智能工地安全领域中头盔目标检测的应用

基于yolov5算法的安全帽头盔检测|Pytorch开发源码模型 本期给大家打开的是YOLOv5在智能工地安全领域中头盔目标检测的应用。 完整代码下载地址:基于yolov5算法的安全帽头盔检测源码模型 可视化界面演示: 💥💥💥新增…

opencv c++ Mat CUDA的编译与使用

Mat 构造函数 cv::Mat img ; //默认 定义了一个Mat img cv::imread("image.jpg");//除了直接读取,还有通过大小构造等cv::Mat img cv::imread("image.png", IMREAD_GRAYSCALE); cv::Mat img_novel img;转换 Mat::convertTo(Mat& m, in…