使用 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" 才能使其正常工作。
我在 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" 才能使其正常工作。