Boa tarde galera, estou usando o cvHaarDetectObjects para localizar o nariz de uma pessoa, porem estou recebendo o seguinte erro
[color=red]OpenCV Error: Null pointer (Invalid classifier cascade) in unknown function, file …\src\opencv\modules\objdetect\src\haar.cpp, line 1495
Exception in thread “main” java.lang.RuntimeException: …\src\opencv\modules\objdetect\src\haar.cpp:1495: error: (-27) Invalid classifier cascade
at com.googlecode.javacv.cpp.opencv_objdetect.cvHaarDetectObjects(Native Method)
at com.googlecode.javacv.cpp.opencv_objdetect.cvHaarDetectObjects(opencv_objdetect.java:244)
at opencv123.Opencv123.main(Opencv123.java:45) [/color]
segue meu código
[code] package opencv123;
import com.googlecode.javacv.JavaCvErrorCallback;
import com.googlecode.javacv.cpp.opencv_core.CvMemStorage;
import com.googlecode.javacv.cpp.opencv_core.CvRect;
import com.googlecode.javacv.cpp.opencv_core.CvScalar;
import com.googlecode.javacv.cpp.opencv_core.CvSeq;
import com.googlecode.javacv.cpp.opencv_core.IplImage;
import static com.googlecode.javacv.cpp.opencv_core.;
import static com.googlecode.javacv.cpp.opencv_highgui.;
import static com.googlecode.javacv.cpp.opencv_imgproc.CV_BGR2GRAY;
import static com.googlecode.javacv.cpp.opencv_imgproc.cvCvtColor;
import com.googlecode.javacv.cpp.opencv_objdetect.CvHaarClassifierCascade;
import static com.googlecode.javacv.cpp.opencv_objdetect.cvHaarDetectObjects;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class Opencv123 {
private static final String CASCADE_FILE = “C:\opencv\data\haarcascades\Nariz.xml”;
public static void main(String[] args) throws Exception {
new JavaCvErrorCallback().hashCode();
BufferedImage imagem = ImageIO.read(new File("eu.jpg"));
IplImage image2 = IplImage.createFrom(imagem);
IplImage grayImage2 = cvCreateImage(cvGetSize(image2), 01, 1);
cvCvtColor(image2, grayImage2, CV_BGR2GRAY);
CvMemStorage storage = CvMemStorage.create();
CvHaarClassifierCascade cascade = new CvHaarClassifierCascade(cvLoadImage(CASCADE_FILE));
CvSeq faces = cvHaarDetectObjects(grayImage2, cascade, storage, 1.1, 1, 0);
for (int i = 0; i < faces.total();i++) {
CvRect r = new CvRect(cvGetSeqElem(faces, i));
cvRectangle(image2, cvPoint(r.x(), r.y()),
cvPoint(r.x() + r.width(), r.y() + r.height()), CvScalar.YELLOW, 1, CV_AA, 0);
}
BufferedImage c = image2.getBufferedImage();
ImageIO.write(c, "jpg", new File("eu2.jpg"));
}
}
[/code]
Alguém saberia me dizer o porque desse erro ?