使用opencv进行面部检测不起作用

时间:2014-04-27 09:49:25

标签: java c++ linux opencv

我正在尝试使用OpenCv库创建一个样本面部检测应用程序。 我按照以下教程

http://docs.opencv.org/doc/tutorials/introduction/desktop_java/java_dev_intro.html https://www.openshift.com/blogs/day-12-opencv-face-detection-for-java-developers

但是我得到了以下警告,但它没有检测到面孔。

Hello, OpenCV

Running DetectFaceDemo
Detected 0 faces
Writing faceDetection.png
libpng warning: Image width is zero in IHDR
libpng warning: Image height is zero in IHDR
libpng error: Invalid IHDR data

请帮帮我。我正在使用linuxMint + eclipse系统。

2 个答案:

答案 0 :(得分:7)

问题在于

FaceDetector.class.getResource("haarcascade_frontalface_alt.xml").getPath()

返回类似这样的内容

/C:/src/open/haarcascade_frontalface_alt.xml

应该删除开头的斜线

FaceDetector.class.getResource("haarcascade_frontalface_alt.xml").getPath().substring(1)

答案 1 :(得分:1)

试试这个

CascadeClassifier faceDetector=newCascadeClassifier(JavaCam.class.getResource("haarcascade_frontalface_alt.xml").getPath().substring(1));