opencv - JavaCV中的人脸检测

标签 opencv javacv

我有以下代码来检测人脸。

public class FaceDetection {


    public static final String XML_FILE = 
                    " C:/opencv/data/haarcascades/haarcascade_frontalface_default.xml";


            public static void main(String[] args){

                IplImage img = cvLoadImage("C:/Users/Ioanna/Desktop/lena.png");       
                detect(img);        
            }   

            public static void detect(IplImage src){

                CvHaarClassifierCascade cascade = new 
                        CvHaarClassifierCascade(cvLoad(XML_FILE));
                CvMemStorage storage = CvMemStorage.create();
                CvSeq sign = cvHaarDetectObjects(
                        src,
                        cascade,
                        storage,
                        1.5,
                        3,
                        CV_HAAR_DO_CANNY_PRUNING);

                cvClearMemStorage(storage);

                int total_Faces = sign.total();     

                for(int i = 0; i < total_Faces; i++){
                    CvRect r = new CvRect(cvGetSeqElem(sign, i));
                    cvRectangle (
                            src,
                            cvPoint(r.x(), r.y()),
                            cvPoint(r.width() + r.x(), r.height() + r.y()),
                            CvScalar.RED,
                            2,
                            CV_AA,
                            0);

                }

                cvShowImage("Result", src);
                cvWaitKey(0);

            }           

}

运行时返回以下错误

OpenCV错误:未知函数中的空指针(无效的分类器级联),文件...... \ src \ opencv \ modules \ objdetect \ src \ haar.cpp,第1514行
线程“主”中的异常java.lang.RuntimeException:...... \ src \ opencv \ modules \ objdetect \ src \ haar.cpp:1514:错误:(-27)无效的分类器级联
at com.googlecode.javacv.cpp.opencv_objdetect.cvHaarDetectObjects(Native Method)
at com.googlecode.javacv.cpp.opencv_objdetect.cvHaarDetectObjects(opencv_objdetect.java:238)
at FaceDetection.FaceDetection.detect(FaceDetection.java:32)
at FaceDetection.FaceDetection.main(FaceDetection.java:24)

有人知道这是什么问题吗?

谢谢

最佳答案

复制链接C:/Users/Ioanna/Desktop/lena.png并将其粘贴到该类的文件中,然后复制链接C:/opencv/data/haarcascades/haarcascade_frontalface_default.xml并将其粘贴到该类的文件中

enter image description here

public static final String XML_FILE = "haarcascade_frontalface_default.xml";
IplImage img = cvLoadImage("lena.jpg"); 

关于opencv - JavaCV中的人脸检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19632227/

相关文章:

android - 无法加载 CascadeClassifier

python-2.7 - 在 OpenCV 2.4 中处理轮廓和边界矩形 - python 2.7

c# - 使用 OpenCV(C#、emgu cv)检测屏幕上的输入文本字段

JavaCV透视校正

android - JAVACV在Android上的渲染性能ffmpeg

javaCV ffmpeg Android N链接器错误

opencv - 在 ARM Docker 容器中构建 OPENCV 时出现问题

python - 如何找到检测到的霍夫线的角度?

sockets - 在Java中的套接字上循环传输时,我只得到一个图像

JavaCV RedHat Linux 6.6 x64 NoClassDefFound : Could not initialize class org. bytedeco.javacpp.avutil