2

opencv-2.4.9在 Eclipse 中使用 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 ]

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

4

2 回答 2

0

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

于 2016-01-14T17:11:49.780 回答
0

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

于 2016-01-17T18:47:14.927 回答