使用OpenCV进行面部特征检测,眼睛和嘴角点

我正在进行面部特征检测项目,我确实使用OpenCv withHaarcascade xml文件检测眼睛,鼻子和嘴巴。 但是,我希望有眼睛和嘴角点和鼻子中心。 目标是用它来预测情绪。 我发现这个链接显示它是如何工作的,我需要使用JAVA来获得这个结果。 任何人都可以帮助我吗?

提前致谢。

http://cmp.felk.cvut.cz/~uricamic/flandmark/

在这一部分,我们收到了脸部图像,我们在脸上绘制:

public void drawFaces(BufferedImage image) { final List faces = FacialRecognition.run(image, db); if (faces.isEmpty()) { return; } Graphics2D g2 = image.createGraphics(); g2.setStroke(new BasicStroke(2)); currentFaces.clear(); for (PotentialFace face : faces) { final Rectangle r = face.box; final Color c1, c2; final String msg; if (face.name == null) { c1 = c2 = new Color(scale(rx, getWidth(), 255d), scale(ry, getHeight(), 255d), 0).brighter(); msg = "Click to tag"; } else { c1 = new Color(face.name.hashCode()).brighter(); c2 = new Color((int) (c1.getRGB() - 10*face.confidence)); msg = String.format("%s: %f", face.name, face.confidence); } g2.setColor(c1); g2.drawRect(rx, ry, r.width, r.height); g2.setColor(c2); g2.drawString(msg, rx + 5, ry - 5); currentFaces.add(r); } 

因为flandmark是C ++库,它可以完全满足您的需求(找到眼睛,嘴和中心/鼻尖的角点),我认为你应该只寻找如何从JAVA中运行这个库的机制。 flandmark本身是OpenCV独立的,只有这个库中包含的例子正在使用它(用于面部检测和显示结果)。

我找到了一些关于如何使用JAVA的C ++库的漂亮教程:

  1. http://thebreakfastpost.com/2012/01/23/wrapping-ac-library-with-jni-part-1/
Interesting Posts