2
我在Java cv人臉識別中的EigenFaces.predict()方法中出錯。 IS-越來越openCv錯誤 - 圖像步驟在EigenFaces.Predict()方法中是錯誤的
OpenCV Error: Image step is wrong (The matrix is not continuous, thus its number of rows can not be changed) in unknown function, file ......\src\opencv\modules\core\src\matrix.cpp, line 802
我的代碼錯誤是 -
public static void main(String[] args) {
long size=6;
MatVector imgs=new MatVector(size);
int[] id={0,0,0,0,0,0};
FaceRecognizer fr=opencv_contrib.createEigenFaceRecognizer();
for(int i=0;i<=5;i++)
{
String url="C:/Users/vivek/Documents/NetBeansProjects/Recognizer2/src/a"+(i+1)+".jpg";
IplImage img=opencv_highgui.cvLoadImage(url);
imgs=imgs.put(i,img);
}
fr.train(imgs,id);
IplImage testImage=opencv_highgui.cvLoadImage("C:/Users/vivek/Documents/NetBeansProjects/Recognizer2/src/a3.jpg");
CvMat mat= testImage.asCvMat();
int val=fr.predict(mat);
System.out.println(val);
}
所有圖像都經過預處理,灰度縮放且尺寸相同(70 * 70)。我正在使用公開的cv-2.4.7。 – vivek
當我使用LBPfaceRecognizer時,它會給出錯誤 - OpenCV錯誤:功能/功能未實現(使用原始局部二進制模式進行特徵提取僅適用於單通道圖像(給出16)請將圖像數據作爲灰度圖像傳遞!)。 – vivek
我的訓練和測試圖像是灰色縮放和預處理,但他們的nChanel值是3.我認爲這是造成這個問題。圖像應該有nChanel值1嗎? – vivek