4_相机透镜畸变

理论上讲,是可能定义一种透镜而不引入任何畸变的。然而现实世界没有完美的透镜。这主要是制造上的原因,因为制作一个"球形"透镜比制作一个数学上理想的透镜更容易。而且从机械方面也很难把透镜和成像仪保持平行。下面主要描述两种主要的透镜畸变并为他们建模。径向畸变来自于透镜形状,而切向畸变则来自于整个摄像机的组装过程。

径向畸变,实际上摄像机的透镜总是在成像仪的边缘产生显著畸变。

对径向畸变,成像仪中心(光学中心)的畸变位0,随着向边缘移动,畸变越来越严重。实际情况中,这种畸变比较小,而且可以用r=0的位置周围的泰勒级数展开的前几项来定量描述。对于一般的相机,通常使用前两项,k1和k2;对于畸变很大的相机,比如鱼眼透镜,使用第三项k3。

切向畸变,这种畸变是由于透镜制造上的缺陷使得透镜本身与图像平面不平行而产生的。可以用p1和p2表示。

因此共有5个我们需要的参数。由于在OpenCV程序中五个参数都是必需的,所以它们被放置到一个畸变向量中,这是一个5×1的矩阵,按顺序依次是k1,k2,p1,p2,k3。下图给出了切向畸变在前面外部矩阵形网格点的影响。这些点明显在位置和半径上有位移。

在图像系统中还有很多其他类型的畸变,不过都没有径向和切向畸变显著,故可忽略。

2、标定

知道如何用数学来描述相机的内在参数和畸变后,接下来很自然的问题是如何使用OpenCV来计算内参矩阵和畸变向量。接口:cv::calibrateCamera().对于该接口,

标定方法是把相机对准一个具有很多独立可标识点的已知结构。通过从多个角度观察这个结构,我们可以计算拍摄图像时相机的(相对)位置和方向以及相机的内部参数。为了提供多个视角,需要旋转和平移物体(可参考之前机械臂系列相关内容)。

8_姿态的其他描述及一般坐标系映射

7机器人位姿的数学描述与坐标变

6_机械臂运动学_刚体转动的描述

5_机械臂运动学基础_矩阵

相关推荐
格林威3 分钟前
Baumer相机金属粉末铺粉均匀性评估:用于增材制造过程监控的 7 个实用技巧,附 OpenCV+Halcon 实战代码!
人工智能·opencv·视觉检测·制造·工业相机·智能相机·堡盟相机
格林威10 分钟前
Baumer相机镜面反射区域遮蔽重建:恢复缺失纹理的 6 个关键技术,附 OpenCV+Halcon 实战代码!
人工智能·opencv·计算机视觉·视觉检测·工业相机·智能相机·堡盟相机
“αβ”20 分钟前
MySQL数据类型
c语言·数据库·opencv·mysql·数据挖掘·数据类型·数据
清风与日月2 天前
OpenCV 读取和显示图像功能详解
人工智能·opencv·计算机视觉
清风与日月2 天前
OpenCV 图像显示高级技巧和常见问题
人工智能·opencv·计算机视觉
咚咚王者4 天前
人工智能之视觉领域 计算机视觉 第十章 图像直方图
人工智能·opencv·计算机视觉
咚咚王者7 天前
人工智能之视觉领域 计算机视觉 第八章 图像边缘检测
人工智能·opencv·计算机视觉
格林威9 天前
Baumer相机薄膜厚度均匀性评估:基于光学干涉条纹的 6 个核心方法,附 OpenCV+Halcon 实战代码!
人工智能·opencv·计算机视觉·视觉检测·工业相机·智能相机·堡盟相机
格林威9 天前
Baumer相机药瓶铝盖压合完整性检测:防止密封失效的 7 个关键技术,附 OpenCV+Halcon 实战代码!
人工智能·opencv·计算机视觉·视觉检测·工业相机·智能相机·堡盟相机
格林威10 天前
Baumer相机橡胶O型圈直径测量:用于密封件入库检验的 6 个关键技术,附 OpenCV+Halcon 实战代码!
人工智能·opencv·计算机视觉·视觉检测·工业相机·智能相机·堡盟相机