张正友标定法实战-标定森云GMSL相机
实现平台
采集图片使用 天准xavier,摄像头为森云的GMSL相机
接口图如下
标定运算设备我这次是用 i7-11700的x86设备进行的
参考自知乎
及作者对应github代码 1368069096/Calibration_ZhangZhengyou_Method: Calibrate the camera with ZhangZhengyou method (in both distortion case and no distortion case) (github.com)
数学原理可以参考原大佬的文章,写得确实挺不错的,我这里主要记录一下程序使用的方法和实际标定效果
我选用了一个广角170度的镜头进行标定,通过畸变矫正可以看出很明显的效果
- 修改图像分辨率
- 修改棋盘格格点数量和实际格点尺寸
# 棋盘格格点 inter_corner_shape = (9, 6) # 格点尺寸 size_per_grid = 0.037
- 修改各种文件目录
# 标定照片文件夹 img_dir = "./pic/IR_camera_calib_img2" img_type = "jpg"
- 运行程序
正常的话,在运行过程中会找到角点
如果没有注释在save_corner中也会保存这些图片,用于查看有效图片的数量 - 并经过计算,得到如下形式的输出结果
- 查看畸变矫正后的图像
广角摄像头的矫正效果还是非常明显的
(矫正前)
(矫正后)
可以看出,矫正后,图像的广角畸变得到了明显的有效矫正;不过也缩小了一部分视野(也可以选择不减小视野,但边缘像素的质量会比较差)
7. 根据外参求出像素距离,进一步验证结果
首先测量相机的安装高度,并测出相机中心点与相机的距离(相当于测出直角三角形的两条边,角度不太好测量,用arctan算)然后就是纯数学推导了
张正友标定法实战-标定森云GMSL相机相关推荐
- 张正友棋盘法定标--Matlab【Camera Calibration Toolbox】
[未完,占坑后补,过程代码已附,可参考] 张正友棋盘法定标--Matlab[Camera Calibration Toolbox] 一.Kinect2.0采集RGB-D数据 1.1 安装驱动及数据采集 ...
- 张正友立体魔方_双目立体视觉中的相机标定与机器人位置标定
在基于双目立体视觉的工业机器人抓取系统中涉及三个坐标系:世界坐标系(现实世界中的坐标位置).机器人坐标系(以机器人基座标 标识的坐标位置)和 相机坐标系(以双目相机中某相机光心位置为原点,光轴作为参考 ...
- 张正友相机标定(全流程,含畸变,matlab源代码解析)
张正友标定的具体原理很多文章已经介绍,这里主要结合源代码对其中的基本原理及本人遇到的问题进行介绍.(仅介绍基本原理供本人复习,同时方便他人,如有问题,请及时指正勿喷) 1. 标定基本思路介绍 相机标定 ...
- [毕设系列] 一、张正友相机标定
张正友相机标定 预备知识 0.1 刚体.仿射.线性.旋转变换 0.2 什么是标定? 0.3 为什么要进行标定? 0.4 什么是畸变? 一.张正友标定法 1.1 简介 1.2 流程 1.3 畸变公式 二 ...
- 张正友标定算法理论及算法实现
张正友标定算法理论及算法实现 理论基础 1999年,微软研究院的张正友提出了基于移动平面模板的相机标定方法.此方法是介于传统标定方法和自标定方法之间的一种方法,传统标定方法虽然精度高设备有较高的要求, ...
- 相机模型与标定(三)--张正友标定
原文: http://blog.csdn.net/lsh_2013/article/details/47617909 理论基础 1999年,微软研究院的张正友提出了基于移动平面模板的相机标定方法.此方 ...
- 【一文弄懂】张正友标定法-完整学习笔记-从原理到实战
张正友标定法-完整学习笔记-从原理到实战 文章目录 张正友标定法-完整学习笔记-从原理到实战 (零)前言: 1 为什么需要标定? 2 相机标定的已知条件和待求解是什么? 标定前的已知条件: 待求信息: ...
- 六、张正友标定法小结
六.张正友标定法小结 这一博文,是玉米后补上的.因为觉得前面用了三篇博文来描述张氏标定法,略显散乱.在这里总结一下,使条理清晰一点.另外关于张氏标定所得参数也还有两点需要澄清.下面这个总结,其实也是在 ...
- 张正友标定法 【计算机视觉学习笔记--双目视觉几何框架系列】
三.致敬"张正友标定" 此处"张正友标定"又称"张氏标定",是指张正友教授于1998年提出的单平面棋盘格的摄像机标定方法.张氏标定法已经作为 ...
最新文章
- 李航等提出多粒度AMBERT模型,CLUE、GLUE上优于BERT,中文提升显著
- js-----第四篇
- tensorflow l2_loss函数
- 多mysql实例下开发需要注意主从同步延迟
- 数据结构基础(12) --双向循环链表的设计与实现
- Android学习笔记(九)——更复杂的进度对话框
- python趋势回归_Python 回归分析 - 树懒学堂
- (转)如何判断一个人是否具有管理的潜力?
- EntityTransaction
- 用ssh2连接linux实现putty功能范例代码
- 硬盘的老化测试软件,固态硬盘不耐用?教你检测固态硬盘还能用多久
- taobao API 错误码一览表
- Ovi Store标志着App store模式大战正式开启
- MCS-51单片机总体概述(一)
- Stata:如何生成天马行空的空间权重矩阵?
- 手写一个springboot的starter
- C# 网易云音乐API 多达100+ 支持登录,无损下载
- 笔记本高分辨软件兼容问题,字体太小或模糊
- where 引导从句
- UCS-2 编码范围