1. 程式人生 > >OpenCV Error: Assertion failed (type == B.type() && (type == CV_32FC1 || type == CV_64FC1 || type ==

OpenCV Error: Assertion failed (type == B.type() && (type == CV_32FC1 || type == CV_64FC1 || type ==

最近切換到64位系統上,執行以前的程式真是各種bug不停啊,主要還是系統位數導致的,先看下面這個錯誤

OpenCVError:Assertion failed (type == B.type()&&(type == CV_32FC1 || type == CV_64FC1 ||
type == CV_32FC2 || type == CV_64FC2))in gemm, file /build/buildd/opencv-2.3.1/modules/core/src/matmul.cpp, line 711
這個錯誤是單應矩陣H於座標向量x相乘引起的,二者型別不一致導致,由於之前32位系統,findHomography函式預設返回CV_32F型別的單應矩陣,與CV_32F型別的x相乘沒有問題,但是64位系統上預設返回CV_64F型別的H,與x相乘就會有問題。這也是我輸出H的型別
cout<<H.type()<<endl;
才發現H的型別不一致的。唉,被類似的問題整了幾天了。。。