Java-OpenCV错误:运行FaceRecognition程序时断言失败

Java-OpenCV错误:运行FaceRecognition程序时断言失败,java,image-processing,opencv3.0,Java,Image Processing,Opencv3.0,我对OpenCV非常陌生。从中我得到了用于人脸检测的JAVA示例程序。我在安装opencv 3.0版本时遇到了一些问题,代码是针对2.4.6版本的。无论如何,当我将代码更改为 System.loadLibrary(Core.NATIVE_LIBRARY_NAME); System.out.println("\nRunning FaceDetector"); CascadeClassifier faceDetector = new CascadeClassifi

我对OpenCV非常陌生。从中我得到了用于人脸检测的JAVA示例程序。我在安装opencv 3.0版本时遇到了一些问题,代码是针对2.4.6版本的。无论如何,当我将代码更改为

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        System.out.println("\nRunning FaceDetector");


        CascadeClassifier faceDetector = new CascadeClassifier(FaceDetection.class.getResource("/resources/xmls/haarcascade_frontalface_alt.xml").getPath());
        Mat image = Imgcodecs.imread(FaceDetection.class.getResource("/resources/testimages/FaceTest.jpg").getPath());

        MatOfRect faceDetections = new MatOfRect();
        faceDetector.detectMultiScale(image, faceDetections);

        System.out.println(String.format("Detected %s faces", faceDetections.toArray().length));

        for (Rect rect : faceDetections.toArray()) {
            Imgproc.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height),
                    new Scalar(0, 255, 0));


        }

        String filename = "/resources/testimages/FaceRecognised.jpg";
        System.out.println(String.format("Writing %s", filename));
        Imgcodecs.imwrite(filename, image);
但不幸的是,在运行时出现了异常。Stacktrace如下所示:

运行面部检测器 OpenCV错误:cv::CascadeClassifier::detectMultiScale文件C:\builds\master\u PackSlaveAddon-win64-vc12-static\OpenCV\modules\objdetect\src\cascadedetect.cpp第1595行中的断言失败(!empty()) 线程“main”CvException[org.opencv.core.CvException:cv::Exception:C:\builds\master\u PackSlaveAddon-win64-vc12-static\opencv\modules\objdetect\src\cascadedetest.cpp:1595:错误:(-215)!函数cv::CascadeClassifier::detectMultiScale中的空() ] 位于org.opencv.objdetect.CascadeClassifier.detectMultiScale_1(本机方法) 位于org.opencv.objdetect.CascadeClassifier.detectMultiScale(CascadeClassifier.java:103) 位于com.bq.opencv.FaceDetection.main(FaceDetection.java:31)


请帮忙

Hi这被更正为尝试给出绝对路径并从类路径中删除xml文件和图像

CascadeClassifier faceDetector = new CascadeClassifier("C:/OpenCV/opencv/sources/data/haarcascades/haarcascade_frontalface_alt.xml");
而不是

CascadeClassifier faceDetector = new CascadeClassifier(FaceDetection.class.getResource("/resources/xmls/haarcascade_frontalface_alt.xml").getPath());
而且: Mat image=Imgcodecs.imread(“C:/XYZ/PQR/FaceTest.jpg”)