Я получаю ошибку в методе EigenFaces.predict() в распознавании лица Java. Ошибка IS-получение openCv error- Шаг изображения неправильный в методе 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). Я использую open cv-2.4.7. – vivek
, когда я использую LBPfaceRecognizer, он дает ошибку - ошибка OpenCV: функция/функция не реализована (использование оригинальных локальных двоичных паттернов для извлечения функции работает только на одноканальных изображениях (данные 16) Пожалуйста, передайте данные изображения как изображение в градациях серого !). – vivek
Мои обучающие и тестовые изображения имеют серый масштаб и предварительно обработаны, но значение nChanel равно 3. Я думаю, что это вызывает проблему. Нужно ли, чтобы изображения имели значение nChanel 1? – vivek