如何使用 OpenCV 从图像中去除径向失真?

Posted

技术标签:

【中文标题】如何使用 OpenCV 从图像中去除径向失真?【英文标题】:How to remove radial distortions from images using OpenCV? 【发布时间】:2011-12-02 10:51:10 【问题描述】:

我想我应该使用cv::remap 来消除失真,但不知道映射const Mat& map1, const Mat& map2 应该是什么来实现这一点。

我应该使用cv::initUndistortRectifyMap 找出值吗?如果是这样,我真的很感激一个例子。我没有内在的相机参数或不知道如何计算它们。谢谢。

【问题讨论】:

【参考方案1】:

如果您想消除相机镜头造成的失真,您应该查看我前段时间写的this answer,其中包含有关如何进行正确相机校准的说明和参考。

我也推荐this post,它也有很好的程序信息,使用OpenCV的C++接口。

【讨论】:

是的,我正在尝试消除镜头的失真。现在浏览链接:) 不幸的是,第二个链接已失效。你能提供一个新的吗? Wayback Machine. @karlphillip 壮丽 @privetDruzia 我上次玩这个已经 6 年了。对不起,我的记性很差。祝你好运!

以上是关于如何使用 OpenCV 从图像中去除径向失真?的主要内容,如果未能解决你的问题,请参考以下文章

如何在opencv中使用python语言清理图像中的线条并确保图像不失真

如何使用 OpenCV 使裁剪后的鱼眼图像不失真

如何通过openCV模拟鱼眼镜头效果?

如何使用 OpenCV 去除此图像的黑点?

用于不失真图像的 TensorFlow 函数

Python/OpenCV:如何从图像数据中推断出最佳结构元素?