我正在研究人臉檢測問題,我有工作代碼,使用Android的FaceDetector找到臉,但我需要找出一種方法來實現OpenCV/JavaCV函數來檢測臉部。這不是使用實時相機,它使用圖庫中的圖像,我能夠檢索該圖像路徑,但我似乎無法獲得CvHaarClassifierCascade分類器,並且CvMemStorage存儲器已初始化,如果有人不能指向正確的方向或者提供一些在Java中正確初始化這些變量的源代碼。 謝謝OpenCV/JavaCV Android人臉檢測初始化
2
A
回答
1
你可以這樣做:只需提供一個BufferedImage。
或者使用cvLoadImage(..)直接使用圖像路徑加載原始IplImage。
// provide an BufferedImage
BufferedImage image;
// Preload the opencv_objdetect module to work around a known bug.
Loader.load(opencv_objdetect.class);
// Path to the cascade file provided by opencv
String cascade = "../haarcascade_frontalface_alt2.xml"
CvHaarClassifierCascade cvCascade = new CvHaarClassifierCascade(cvLoad(cascade));
// create storage for face detection
CvMemStorage tempStorage = CvMemStorage.create();
// create IplImage from BufferedImage
IplImage original = IplImage.createFrom(image);
IplImage grayImage = null;
if (original.nChannels() >= 3) {
// We need a grayscale image in order to do the recognition, so we
// create a new image of the same size as the original one.
grayImage = IplImage.create(image.getWidth(), image.getHeight(),
IPL_DEPTH_8U, 1);
// We convert the original image to grayscale.
cvCvtColor(original, grayImage, CV_BGR2GRAY);
} else {
grayImage = original.clone();
}
// We detect the faces with some default params
CvSeq faces = cvHaarDetectObjects(grayImage, cvCascade,
tempStorage, 1.1, 3,
0;
// Get face rectangles
CvRect[] fArray = new CvRect[faces.total()];
for (int i = 0; i < faces.total(); i++) {
fArray[i] = new CvRect(cvGetSeqElem(faces, i));
}
// print them out
for(CvRect f: fArray){
System.out.println("x: " + f.x() + "y: " + f.y() + "width: " + f.width() + "height: " + f.height());
}
tempStorage.release();
1
類定義基本上是C中原始頭文件的Java端口,以及僅由OpenCV的C++ API公開的缺失功能。你可以參考這個鏈接,它包括http://code.google.com/p/javacv/
和http://geekoverdose.wordpress.com/tag/opencv-javacv-android-haarcascade-face-detection/
相關問題
- 1. Android中的人臉檢測?
- 2. android人臉檢測座標
- 3. Android中的人臉檢測
- 4. 人臉檢測javacv android
- 5. Android人臉檢測支持
- 6. Android的人臉檢測
- 7. 人臉檢測
- 8. 如何檢查安卓人臉檢測中的人臉檢測
- 9. opencv人臉檢測
- 10. matlab人臉檢測
- 11. 多人臉檢測
- 12. OpenGL人臉檢測
- 13. 健壯的人臉檢測,也可以檢測人臉輪廓。
- 14. 人臉邊界點檢測人臉檢測
- 15. Android,OpenCV:檢測圖像中的人臉
- 16. Android - 人臉檢測庫不加載
- 17. Android中的實時人臉檢測
- 18. Android中的人臉檢測+ 3D模型
- 19. 使用OpenCV/JavaCV的Android人臉檢測
- 20. Dlib正面人臉檢測小臉
- 21. CCV人臉檢測Javascript庫檢測
- 22. 錯誤的人臉檢測
- 23. 多視圖人臉檢測
- 24. 的人臉檢測柔性
- 25. 人臉檢測與識別
- 26. iPhone OpenCV的人臉檢測
- 27. jQuery人臉檢測和css
- 28. 自動人臉檢測
- 29. Haar-人臉檢測OpenCv
- 30. Opencv人臉檢測較慢