image - 从广角 (180) 相机拍摄的图像中消除镜头失真

标签 image opencv opengl image-processing gimp

我有一些从广角应用程序拍摄的图像。 (180 度)相机。 我正在使用 opencv 2.4.8,它提供了一些关于相机矩阵 n 失真矩阵的细节。

MatK = [537.43775285, 0, 327.61133999], [0, 536.95118778, 248.89561998], [0, 0, 1]
MatD = [-0.29741743, 0.14930169, 0, 0, 0]

我进一步使用此信息来消除失真。 但结果并不如预期。 我附上了一些我用来校准的棋盘输入图像。 或者是否有任何其他工具或库可以将其删除。

输入图片

testImg1

testImg2 testImg3 testImg4

来自普通相机或什至由我的智能手机拍摄 without Distortion without Distortion without Distortion

最佳答案

这不是对问题的回答,而是关于畸变和平整度的“讨论”。

实际上,您在图案上有一些直线:

enter image description here

使用(几乎任何)镜头,您会得到某种失真,因此这些直线在投影到您的图像后不再是直的。对于广角镜头,这种效果要强得多。你可以期待这样的东西(广角更强但相似):

enter image description here

但是您提供的图像看起来更像这样,这可能是因为您的图案在地面上并不是真正的平面,或者因为镜头上有一些额外的“山丘”。

enter image description here

关于image - 从广角 (180) 相机拍摄的图像中消除镜头失真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27013110/

相关文章:

ios - UIBarButtonItem 改变播放/暂停按钮的图像

c++ - 如何在 Qt 中将 opencv 灰度和彩色图像发送到 ftp 服务器?

delphi - 如何使用delphi在openGL中渲染简单的2d文本?

opengl - 可移植 YUV 绘图上下文

c++ - OpenGL 没有渲染我的立方体

java - java中的直方图计算

python - 如何在 python 中解码 JPG/PNG?

javascript - $ ('img' ).show ("slide", direction : "right", 500) 改变img的位置

opencv - openCV 中的 SVM 类型

opencv - 在 OpenCV 中量化描述符