2012-07-15 4 views
5

Desidero utilizzare OpenCV FaceRecognition in java tramite javacv libreria wrapper. Non so come passare le immagini e le etichette per com.googlecode.javacv.cpp.opencv_contrib.FaceRecognizer.train(CvArr, CvArr)Come convertire una raccolta java di immagini in CvArr

posso usare cvLoadImage(String) o cvLoadImageM(String) per ottenere singole immagini, ma come faccio a fare un CvArr di loro?

risposta

1

Dopo un po 'di reading ho scoperto che CvArr è un tipo opaco. Basta inizializzare con qualsiasi dato - dopotutto è solo un puntatore C. Quindi:

CvMat[] images = new CvMat[n]; 
images[0] = cvLoadImageM(...); 
... 
CvArr arr = new CvArr(new CvMatArray(images));