python棋盘格_python实现张正友棋盘格标定法
文章目录1.原理1.1相机的内参数1.2张氏标定法1.3切向畸变与径向畸变2.环境与代码2.1棋盘环境2.2图片选取2.3代码3.实验结果与分析3.1角点检测结果3.2内参结果截图3.3外参结果截图3.4小结4.遇到的问题及解决方法
1.原理
**
1.1相机的内参数
**
设P=(X,Y,Z)为场景中的一点,在针孔相机模型中,其要经过以下几个变换,最终变为二维图像上的像点p=(μ,ν):
将P从世界坐标系通过刚体变换(旋转和平移)变换到相机坐标系,这个变换过程使用的是相机间的相对位姿,也就是相机的外参数。
从相机坐标系,通过透视投影变换到相机的成像平面上的像点p=(x,y)。
将像点p从成像坐标系,通过缩放和平移变换到像素坐标系上点p=(μ,ν)。
相机将场景中的三维点变换为图像中的二维点,也就是各个坐标系变换的组合,可将上面的变换过程整理为矩阵相乘的形式:
将矩阵K称为相机的内参数,
其中,α,β表示图像上单位距离上像素的个数,则fx=αf,fy=βf将相机的焦距f变换为在x,y方向上像素度量表示。
另外,为了不失一般性,可以在相机的内参矩阵上添加一个扭曲参数γ,该参数用来表示像素坐标系两个坐标轴的扭曲。则内参数K变为
最后可以得到相机的各个内参数:
1.2张氏标定法
1.准备标定图片
2.对每一张标定图片,提取角点信息
3.对每一张标定图片,进一步提取亚像素角点信息
4.在棋盘标定图上绘制找到的内角点(非必须,仅为了显示)
5.相机标定
6.对标定结果进行评价
7.查看标定效果——利用标定结果对棋盘图进行矫正
1.3切向畸变与径向畸变
径向畸变:这是由于透镜先天条件原因(透镜形状),成像仪中心(光学中心)的畸变为0,随着向边缘移动,畸变越厉害。这里有3个参数,k1,k2,k3其中k3是可选参数。
切向畸变:这是摄像机安装过程造成的,如当透镜不完全平行于图像平面的时候产生的。
如何消除径向畸变呢?
在小孔模型中,一条指向在成像平面上的像仍然是直线。但是在实际拍摄的过程中,由于透镜的存在,往往将一条直线投影成了曲线,越靠近图像的边缘,这种现象越明显。透镜往往是中心对称的,使得这种不规则的畸变通常是径向对称的。主要有两大类:桶形畸变和枕形畸变。如下图
python棋盘格_python实现张正友棋盘格标定法相关推荐
- 深入理解张正友相机标定法:数学理论详细推导
最近在项目中需要在激光雷达(Lidar)和相机(Camera)之间进行标定,即需要标定出相机内参和外参,使用的标定方法是张正友标定法,这里给出其数学理论推导过程. 论文原文:<A Flexibl ...
- 【计算机视觉】张正友棋盘格标定法
目录 前言 环境 (一)实验原理/步骤 1.计算单应性矩阵H 2.计算内参数矩阵 3.计算外参数矩阵 4.最大似然估计 (二)实验代码 (三)实验结果分析 (四)实验总结 前言 "张正友标定 ...
- 计算机视觉——张正友棋盘格标定法
文章目录 环境 前言 一.实验原理 1.相机标定 2.张正友标定法 3.步骤 二.实验过程 1.实验步骤 2.结果展示 3.分析 三.问题和总结 环境 win10,64位,python2.7,编译器: ...
- python实现张正友棋盘格标定法
文章目录 1.原理 1.1相机的内参数 1.2张氏标定法 1.3切向畸变与径向畸变 2.环境与代码 2.1棋盘环境 2.2图片选取 2.3代码 3.实验结果与分析 3.1角点检测结果 3.2内参结果截 ...
- 相机标定——张正友棋盘格标定法
目录 为什么需要相机标定? 相机标定可以做什么? 相机标定后可以得到什么? 什么情况下需要借助相机标定的方法? 相机标定的原理 实现相机标定的方法 为什么需要相机标定? 一个是由于每个镜头的在生产和组 ...
- [毕设系列] 一、张正友相机标定
张正友相机标定 预备知识 0.1 刚体.仿射.线性.旋转变换 0.2 什么是标定? 0.3 为什么要进行标定? 0.4 什么是畸变? 一.张正友标定法 1.1 简介 1.2 流程 1.3 畸变公式 二 ...
- 基于亚像素的图像测量仪标定算法(满视场棋盘格,张正友标定法)
图像测量仪对测量的精度极高,能达到0.001毫米,所有的图像边缘分割和摄像头标定,都在亚像素级水平上进行.目前我们能做到1/100个像素的提取.图像测量仪的关键部分在于亚像素分割.亚像素分割算法各种各 ...
- python 倒数两列_相机标定之张正友标定法数学原理详解(含python源码)
一.相机标定的目的 我们首先要明白两个问题:1.相机是如何成像的?2.相机标定的目的是什么? 1.相机是如何成像的呢? 相机成像系统中,共包含四个坐标系:世界坐标系.相机坐标系.图像坐标系.像素坐标系 ...
- 相机标定(六)—— 张正友标定法
相机标定 一.相机标定的目的 1. 相机的成像过程 2. 相机标定的目的 3. 畸变与畸变矫正 二.张正友标定法简介 三.标定相机内外参 1. 求解内参和外参的积 2. 求解内参矩阵 3. 求解外参矩 ...
最新文章
- flutter 泛型_Flutter/Dart - 泛型
- 在linux系统安装R及rstudio
- WebLogic RCE(CVE-2019-2725)漏洞之旅
- c++ 动态规划(数塔)
- 【wikioi】1022 覆盖(匈牙利)
- 剑桥大学工程硕士的安排
- VS2015编译Poco+openssl,使用Poco发送HTTPS请求
- [Python图像处理] 三十三.图像各种特效处理及原理万字详解(毛玻璃、浮雕、素描、怀旧、流年、滤镜等)
- 工具类—KeyValuePair
- git idea 图形化_Git大全,你所需要的Git资料都在这里
- c++初学者如何学好基础?
- HTTP协议之HTTP的结构
- Delphi查询Sqlserver数据库传入日期类型方法总结
- bootstrap学习笔记(5)
- php提前终止,由于最大执行时间致命错误,PHP cron作业提前终止
- 贝叶斯球(Bayes ball)
- Linux创建.txt文件
- iMeta | 南医大余光创组ggtree最新文章-系统发育树存储与可视化的数据结构
- iOS 清理缓存简介
- 巧用 Dummy 解决断网情况下的网络访问问题
热门文章
- 互联网盈利模式研习笔记 1:流量变现
- 朴素贝叶斯详解及中文舆情分析(附代码实践)
- 【过分】Python监控小姐姐/小哥哥微博,了解一下??
- 2023.02.07草图大师SU模型渲染- 效果图之加深颜色的色调
- Java进度条(excel文件解析)的实现
- 红米K30S至尊纪念版和红米K30至尊纪念版哪个好
- R语言排序的基本函数
- 洛奇服务器维护,《洛奇Mabinogi》官方网站
- java实现doc内容对比_Java平台Word格式处理控件Spire.Doc8月新功能代码演示:比较两个 Word 文档的内容...
- JavaWEB(AJAX实现分页)