【问题标题】:How can I know the perspective transform matrix after findHomographyfindHomography 后如何知道透视变换矩阵
【发布时间】:2013-07-08 03:27:02
【问题描述】:

我是OpenCV的新手,我正在做一些关于图像拼接的事情。

在下面的代码中,我想知道透视变换矩阵是什么并显示矩阵,但是我得到了以下错误。

//-- Find the Homography
cv::Mat H = cv::findHomography(cv::Mat(vec2),cv::Mat(vec1),CV_RANSAC);
cout << H.at(0,0) <<endl;

【问题讨论】:

    标签: opencv matrix mat perspective image-stitching


    【解决方案1】:

    要显示矩阵,只需执行std::cout&lt;&lt;H&lt;&lt;std::endl;

    要使用cv::Mat::at,您需要在参数中添加矩阵类型(它是模板方法)。 查看here 以获取有关cv::Mat::at 参数的更多信息

    【讨论】:

    • 我使用了std::cout&lt;&lt;H&lt;&lt;std::endl;,但是在显示H时它会中断。我想知道findHomography生成的Mat H是否有些不同?
    • 休息?你的意思是错误还是什么?如果难以描述,您可以粘贴输出。
    • 我的意思是中断。调用堆栈窗口中的结果如下。> ConsoleApplication1.exe!cv::operator > & out, const cv::Mat & mtx) line 3543 C++ ConsoleApplication1.exe!main() 第 123 行 C++ ConsoleApplication1.exe!__tmainCRTStartup() 第 536 行 C ConsoleApplication1.exe!mainCRTStartup() 第 377 行 C
    • 我知道您正在使用 Visual Studio。项目设置可能存在某种问题。您可以检查H 是否不为空,以及cv::Mat(vec1)cv::Mat(vec2) 是否具有相同的类型。否则我不知道它为什么抱怨。错误消息什么也没说。
    • 感谢您的帮助。
    【解决方案2】:

    试试 H.at (i,j)..它对我有用....

    【讨论】:

      猜你喜欢
      • 2013-01-06
      • 2011-03-09
      • 2014-04-06
      • 2020-08-11
      • 2012-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-27
      相关资源
      最近更新 更多