原文链接:http://blog.csdn.net/kikitamoon/article/details/21542385

透镜由于制造精度以及组装工艺的偏差会引入畸变,导致原始图像的失真。镜头的畸变分为径向畸变和切向畸变两类。

1. 径向畸变

顾名思义,径向畸变就是沿着透镜半径方向分布的畸变,产生原因是光线在原理透镜中心的地方比靠近中心的地方更加弯曲,这种畸变在普通廉价的镜头中表现更加明显,径向畸变主要包括桶形畸变和枕形畸变两种。以下分别是枕形和桶形畸变示意图:

成像仪光轴中心的畸变为0,沿着镜头半径方向向边缘移动,畸变越来越严重。畸变的数学模型可以用主点(principle point)周围的泰勒级数展开式的前几项进行描述,通常使用前两项,即k1和k2,对于畸变很大的镜头,如鱼眼镜头,可以增加使用第三项k3来进行描述,成像仪上某点根据其在径向方向上的分布位置,调节公式为:

式里(x0,y0)是畸变点在成像仪上的原始位置,(x,y)是畸变较真后新的位置,下图是距离光心不同距离上的点经过透镜径向畸变后点位的偏移示意图,可以看到,距离光心越远,径向位移越大,表示畸变也越大,在光心附近,几乎没有偏移。

2. 切向畸变

切向畸变是由于透镜本身与相机传感器平面(成像平面)或图像平面不平行而产生的,这种情况多是由于透镜被粘贴到镜头模组上的安装偏差导致。畸变模型可以用两个额外的参数p1和p2来描述:

下图显示某个透镜的切向畸变示意图,大体上畸变位移相对于左下——右上角的连线是对称的,说明该镜头在垂直于该方向上有一个旋转角度。

鱼眼镜头畸变校正模型相关推荐

  1. 鱼眼图像畸变校正matlab,鱼眼镜头畸变校正算法的设计

    王赛男 刘涛 左震宇 摘   要:鱼眼镜头的拍摄角度大,成像角度宽,但是在进行图像采集和成像的过程中存在大量畸变,直接使用采集而来的图像很难满足实际需求,因此需要对图像进行后续处理.本文根据摄像机参数 ...

  2. 鱼眼镜头畸变校正方法

    原文链接: http://blog.csdn.net/kfqcome/article/details/9411711 一 摄像机成像模型 成像的过程实质上是几个坐标系的转换.首先空间中的一点由世界坐标 ...

  3. 鱼眼相机的成像模型与畸变校正

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨11号线人 来源丨十一号组织 "800万像素","250m测距能力 ...

  4. 鱼眼镜头标定及畸变校正

    鱼眼摄像头畸变校正的方法: 棋盘矫正法 经纬度矫正法. 离线图片实现摄像头标定和矫正 1)Cmakelist 配置Opencv //要求cmake最低版本 cmake_minimum_required ...

  5. 鱼眼镜头opencv2校正

    #鱼眼镜头opencv2校正 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 目录 文章目录 #鱼眼镜头opencv2校正 @[toc ...

  6. 鱼眼摄像头标定与畸变校正(OPENCV版)

    转载请注明作者和出处:http://blog.csdn.net/u011475210 代码地址:https://github.com/WordZzzz/fisheye_calibration 软件版本 ...

  7. 鱼眼摄像头标定与畸变校正(双OPENCV版本)

    转载请注明作者和出处:http://blog.csdn.net/u011475210 代码地址:https://github.com/WordZzzz/fisheye_calibration 软件版本 ...

  8. 广角镜头的标定、畸变校正和基于ROS的实时视频输出

    参考网址: 1.棋盘格标定 https://blog.csdn.net/u011475210/article/details/79185543 2.镜头参数调整 https://blog.csdn.n ...

  9. OpenCV畸变校正原理以及损失有效像素原理分析

    常用的张正友标定法的流程,其中获取了摄像机的内参矩阵K,和畸变系数D. 1.在普通相机cv模型中,畸变系数主要有下面几个:(k1; k2; p1; p2[; k3[; k4; k5; k6]] ,其中 ...

最新文章

  1. 理解 K8s 资源更新机制,从一个 OpenKruise 用户疑问开始
  2. discuzx3.2发帖流程
  3. Linux Oracle10g安装
  4. python从入门到实践django_Django入门——《Python编程从入门到实践》
  5. api 定位 微信小程序 精度_小程序的api是什么
  6. 18.requests
  7. RH413-Linux系统下的SUID文件权限测试
  8. 029、JVM实战总结:大厂面试题:最新的G1垃圾回收器的工作原理,你能聊聊吗
  9. opensuse 14.1设置默认root自动登录
  10. 解决CentOS中无法使用setup命令 -bash:setup: command
  11. 皮肤暗的女孩如何穿衣服
  12. 【PHP练习】每日词汇,随机产生10个单词,方便备考随时背诵(php+html+css)
  13. 笔记——衡量回归算法的标准最好的评价指标R Square
  14. C#中的InputBox
  15. 网络测速一原理及实例
  16. 树莓派串口配置(c++)
  17. Java-进阶:多线程1,2个月面试腾讯、B站、网易等11家公司的面经总结
  18. 有关联想拯救者Y7000重装window10系统
  19. Nginx主要用来干什么
  20. 投机者怎样于2019年3月18日前后的证券市场中利用底部放量实现程序化交易

热门文章

  1. 旺旺SDK2.8插件 TC
  2. java 内存 pdf_jvm内存模型高清版.pdf
  3. CSS3转换属性—transform之translate、rotate、scale函数详解
  4. 点云编码是计算机视觉吗,本周新出开源计算机视觉代码汇总(含图像超分辨、视频目标分割、行人重识别、点云识别等)...
  5. 网页JavaScript特效之flappy bird(像素鸟)
  6. .ServletException: Circular view path [index]: would dispatch back to the curren这是springboot
  7. TVS管与ESD保护二极管的区别
  8. 【树图科技头条】2022年8月23日 星期二
  9. Python中and和or运算符的高级用法
  10. 基于tushare量化交易模型基础构建(偿债能力排名)