C++ - OpenGL/OpenCV - 使用 UVMap 来映射图像?

Posted

技术标签:

【中文标题】C++ - OpenGL/OpenCV - 使用 UVMap 来映射图像?【英文标题】:C++ - OpenGL/OpenCV - using a UVMap to map an image? 【发布时间】:2016-07-11 16:08:45 【问题描述】:

假设我有以下图像:

distorted image

我想应用 UVMap/STMap 来使其不失真并使其看起来像这样:

undistorted image

有没有使用 C++ 和 OpenCV 和/或 OpenGL 的方法?如果您能指出任何参考/示例,那就太好了!

谢谢!

【问题讨论】:

【参考方案1】:

看看 OpenCV 中的 undistort 和 Remap。

该函数只是 initUndistortRectifyMap() (使用统一 R )和 remap() (使用双线性插值)的组合。有关正在执行的转换的详细信息,请参见前一个函数。

如果您可以提供正确的映射,Remap 可以执行请求的不失真。

函数 remap 使用指定的映射转换源图像:

【讨论】:

那么我如何将这个 UV 贴图与其中一个功能一起使用? (我放了一个链接,因为我仍然没有足够的声誉在我的原始帖子中包含超过 2 个链接哈哈)postimg.org/image/7yrp3cp7b

以上是关于C++ - OpenGL/OpenCV - 使用 UVMap 来映射图像?的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu下配置qt+opengl+opencv

OpenGL+OpenCV实现立方体贴图

C++ 程序员应该使用哪些 C++ 习语? [关闭]

在 C++ 中使用 C# 接口或在 C# 中使用 C++ 接口

C++ 如何在 C++ 中使用 dlopen()?

如何在 Visual C++ 2010 中使用 C++ 库 [重复]