gpt4 book ai didi

c++ - 如何使用opencv中的单应矩阵将一个点从一个图像重新投影到另一个图像?

转载 作者:太空宇宙 更新时间:2023-11-03 23:18:54 24 4
gpt4 key购买 nike

我有两张以不同视角拍摄的图像 I1 和 I2。我在 OpenCV 中使用 findHomography 函数计算了单应矩阵 H。现在我需要将图像 I1 的中心像素 p1(x,y) 重新投影(即找到像素坐标)到图像 I2 上。

最佳答案

单应性基本上是线性映射,即它可以通过与 3x3 矩阵的简单乘法来执行。介绍实际的非线性翻译Homogeneous coordinates被使用(但这是一个更乏味的故事)。

长话短说,如果您有 OpenCV 数据类型,例如Point2f 您可以使用发货的 perspectiveTransform以透视方式扭曲点。

std::vector<Point2f> src_points;
std::vector<Point2f> dest_points;
// ... add some points to src_points and get H e.g. from findHomography
perspectiveTransform( src_points, dest_points, H);

您会找到一个更广泛的示例 here .

关于c++ - 如何使用opencv中的单应矩阵将一个点从一个图像重新投影到另一个图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34431018/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com