我正在使用OpenCV的SURF特征检测来比较两个图像。 当我选择两个相同的图像(有时选择相同的图像)时,我得到了这个:
OpenCV Error: Assertion failed (CV_IS_MAT(imagePoints) && CV_IS_MAT(objectPoints)) in cvFindHomography, file /home/OpenCV/OpenCV-2.4.3/modules/calib3d/src/fundam.cpp, line 232
Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.
terminate called after throwing an instance of 'cv::Exception'
what(): /home/OpenCV/OpenCV-2.4.3/modules/calib3d/src/fundam.cpp:232: error: (-215) CV_IS_MAT(imagePoints) && CV_IS_MAT(objectPoints) in function cvFindHomography
Le programme s'est terminé subitement
第二次执行带有两个不同图像的代码表示:
what(): /home/OpenCV/OpenCV-2.4.3/modules/calib3d/src/fundam.cpp:235: error: (-215) count >= 4 in function cvFindHomography
我每次都用不同的图像重复执行多次,并且一些测试给了我想要的结果。
答案 0 :(得分:2)
看起来你没有足够的积分来计算单应性。您需要至少4分才能执行此操作,并且您匹配的点数必须相等(imagePoints
和objectPoints
)。有关说明,请参阅reference。