【问题标题】:face detection using opencv not working使用opencv进行人脸检测不起作用
【发布时间】:2014-06-12 20:42:57
【问题描述】:

我正在尝试使用 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系统。

【问题讨论】:

  • 你的图片没有被正确读取(所以它无法检测到任何东西)。

标签: java c++ linux opencv


【解决方案1】:

问题出在

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)

【讨论】:

  • 你是对的。问题在于从类路径加载资源。我以绝对路径解决了它们。效果很好,谢谢。
  • @Valath,在使用 substring(1) 修复的路径中出现斜杠问题后,我遇到了同样的错误。
  • 这是什么结果? FaceDetector.class.getResource("haarcascade_frontalface_alt.xml").getPath()
【解决方案2】:

试试这个

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

【讨论】:

    猜你喜欢
    • 2013-03-23
    • 2017-10-02
    • 1970-01-01
    • 1970-01-01
    • 2012-05-18
    • 2014-06-28
    • 1970-01-01
    • 1970-01-01
    • 2015-08-31
    相关资源
    最近更新 更多