使用 OpenCV 将两个图像拼接在一起时抛出异常

Exception thrown when stitching together two images using OpenCV

我在 Eclipse 中使用 opencv-2.4.9 和 Java 将两个图像拼接在一起。我的代码从 warpPerspective() 中抛出以下异常:

OpenCV Error: Assertion failed ((M0.type() == CV_32F || M0.type() == CV_64F) && M0.rows == 3 && M0.cols == 3) in warpPerspective

warpPerspective方法调用:

Imgproc.warpPerspective(hsv, result, homoghraphy,
                        new Size(2 * input.cols(), input1.rows)) 

单应矩阵的类型是:

scene = Mat [ 3*3*CV_32FC2,
              isCont = true,
              isSubmat = false,
              nativeObj = 0x7f32a0130160,
              dataAddr = 0x7f32a01301e0 ]

有人可以解释为什么抛出这个异常吗?

这个答案是错误的,正确答案在这个答案的评论中。

实际上问题出在单应矩阵的类型上。单应矩阵是一维数学 matrix.The 问题中提到的单应矩阵是二维数组,这就是它不起作用的原因。我必须将其类型从 "2" 更改为 "1" 才能使其正常工作。