文章目录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实现张正友棋盘格标定法相关推荐

  1. 深入理解张正友相机标定法:数学理论详细推导

    最近在项目中需要在激光雷达(Lidar)和相机(Camera)之间进行标定,即需要标定出相机内参和外参,使用的标定方法是张正友标定法,这里给出其数学理论推导过程. 论文原文:<A Flexibl ...

  2. 【计算机视觉】张正友棋盘格标定法

    目录 前言 环境 (一)实验原理/步骤 1.计算单应性矩阵H 2.计算内参数矩阵 3.计算外参数矩阵 4.最大似然估计 (二)实验代码 (三)实验结果分析 (四)实验总结 前言 "张正友标定 ...

  3. 计算机视觉——张正友棋盘格标定法

    文章目录 环境 前言 一.实验原理 1.相机标定 2.张正友标定法 3.步骤 二.实验过程 1.实验步骤 2.结果展示 3.分析 三.问题和总结 环境 win10,64位,python2.7,编译器: ...

  4. python实现张正友棋盘格标定法

    文章目录 1.原理 1.1相机的内参数 1.2张氏标定法 1.3切向畸变与径向畸变 2.环境与代码 2.1棋盘环境 2.2图片选取 2.3代码 3.实验结果与分析 3.1角点检测结果 3.2内参结果截 ...

  5. 相机标定——张正友棋盘格标定法

    目录 为什么需要相机标定? 相机标定可以做什么? 相机标定后可以得到什么? 什么情况下需要借助相机标定的方法? 相机标定的原理 实现相机标定的方法 为什么需要相机标定? 一个是由于每个镜头的在生产和组 ...

  6. [毕设系列] 一、张正友相机标定

    张正友相机标定 预备知识 0.1 刚体.仿射.线性.旋转变换 0.2 什么是标定? 0.3 为什么要进行标定? 0.4 什么是畸变? 一.张正友标定法 1.1 简介 1.2 流程 1.3 畸变公式 二 ...

  7. 基于亚像素的图像测量仪标定算法(满视场棋盘格,张正友标定法)

    图像测量仪对测量的精度极高,能达到0.001毫米,所有的图像边缘分割和摄像头标定,都在亚像素级水平上进行.目前我们能做到1/100个像素的提取.图像测量仪的关键部分在于亚像素分割.亚像素分割算法各种各 ...

  8. python 倒数两列_相机标定之张正友标定法数学原理详解(含python源码)

    一.相机标定的目的 我们首先要明白两个问题:1.相机是如何成像的?2.相机标定的目的是什么? 1.相机是如何成像的呢? 相机成像系统中,共包含四个坐标系:世界坐标系.相机坐标系.图像坐标系.像素坐标系 ...

  9. 相机标定(六)—— 张正友标定法

    相机标定 一.相机标定的目的 1. 相机的成像过程 2. 相机标定的目的 3. 畸变与畸变矫正 二.张正友标定法简介 三.标定相机内外参 1. 求解内参和外参的积 2. 求解内参矩阵 3. 求解外参矩 ...

最新文章

  1. flutter 泛型_Flutter/Dart - 泛型
  2. 在linux系统安装R及rstudio
  3. WebLogic RCE(CVE-2019-2725)漏洞之旅
  4. c++ 动态规划(数塔)
  5. 【wikioi】1022 覆盖(匈牙利)
  6. 剑桥大学工程硕士的安排
  7. VS2015编译Poco+openssl,使用Poco发送HTTPS请求
  8. [Python图像处理] 三十三.图像各种特效处理及原理万字详解(毛玻璃、浮雕、素描、怀旧、流年、滤镜等)
  9. 工具类—KeyValuePair
  10. git idea 图形化_Git大全,你所需要的Git资料都在这里
  11. c++初学者如何学好基础?
  12. HTTP协议之HTTP的结构
  13. Delphi查询Sqlserver数据库传入日期类型方法总结
  14. bootstrap学习笔记(5)
  15. php提前终止,由于最大执行时间致命错误,PHP cron作业提前终止
  16. 贝叶斯球(Bayes ball)
  17. Linux创建.txt文件
  18. iMeta | 南医大余光创组ggtree最新文章-系统发育树存储与可视化的数据结构
  19. iOS 清理缓存简介
  20. 巧用 Dummy 解决断网情况下的网络访问问题

热门文章

  1. 互联网盈利模式研习笔记 1:流量变现
  2. 朴素贝叶斯详解及中文舆情分析(附代码实践)
  3. 【过分】Python监控小姐姐/小哥哥微博,了解一下??
  4. 2023.02.07草图大师SU模型渲染- 效果图之加深颜色的色调
  5. Java进度条(excel文件解析)的实现
  6. 红米K30S至尊纪念版和红米K30至尊纪念版哪个好
  7. R语言排序的基本函数
  8. 洛奇服务器维护,《洛奇Mabinogi》官方网站
  9. java实现doc内容对比_Java平台Word格式处理控件Spire.Doc8月新功能代码演示:比较两个 Word 文档的内容...
  10. JavaWEB(AJAX实现分页)