cv::perspectiveTransform断言失败



我正在尝试使用opencv 3.0运行rgbdodometry示例。

https://github.com/kipr/opencv/blob/master/samples/cpp/rgbdodometry.cpp

我在这里得到一个异常错误:(第46行)

static void warpImage(const Mat& image, const Mat& depth, const Mat& Rt, const Mat& cameraMatrix, const Mat& distCoeff, Mat& warpedImage)
perspectiveTransform(cloud, transformedCloud, Rt);
Assertion failed <scn +="" 1="=" m.cols=""> in cv::perspectiveTransform. file matmul.cpp, line 2125

似乎Rt Mat保持空,其中perspectiveTransform期望一个3 x 3。我正在使用样本中的代码,以及样本文件夹中的图像。

这是怎么回事?我该怎么补救呢?

这是因为Mat Rt没有填满。由于这一行在opencv 3中失败

bool isFound = cv::RGBDOdometry(Rt, Mat(),
        grayImage0, depthFlt0, Mat(),
        grayImage1, depthFlt1, Mat(),
        cameraMatrix, minDepth, maxDepth, maxDepthDiff,
        iterCounts, minGradMagnitudes, transformationType);

它需要添加rgbd::RGBDOdometry命名空间,但是当我添加它时,它无法编译。我已经回到2.4,它运行得很好。

相关内容

  • 没有找到相关文章

最新更新