Определение лица с помощью OpenCV с точками глаз и углов рта

Я работаю над проектом по распознаванию лиц, и я обнаруживаю глаза, нос и рот, используя OpenCv с файлами Haarcascade xml. Но я хочу, чтобы точки глаз и уголки рта были в центре носа. Цель состоит в том, чтобы использовать это, чтобы предсказать эмоции. Я нашел эту ссылку, которая показывает, как это работает, и мне нужно, чтобы получить этот результат с помощью JAVA. Кто-нибудь может мне помочь?

Заранее спасибо.

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

в этой части мы получаем изображение лица и рисуем Rect на лице:

 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(r.x, getWidth(), 255d), scale(r.y, 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(r.x, r.y, r.width, r.height);
      g2.setColor(c2);
      g2.drawString(msg, r.x + 5, r.y - 5);
      currentFaces.add(r);
    }
 fGo29 мая 2013 г., 17:26
Если OpenCV поддерживает Java, вы должны перенести эти алгоритмы на Java. На всякий случай взгляните на этот вопросstackoverflow.com/questions/1182849/face-detection-in-java
 user242504929 мая 2013 г., 18:37
@fGo у вас есть рабочие примеры кода в других языках программирования для переноса их на Java, мне нужен учебник, как сделать это шаг за шагом, и самое важное для меня сейчас - это иметь угловые точки, которые я запросил в моем вопрос, спасибо
 user242504929 мая 2013 г., 18:39
и о ссылке, которую вы мне дали, яя на самом деле обнаруживаю глаза, рот и нос, используя OpenCv с HaarCascade Xml файлом, но мне нужно получить точку углов, которую я просил в своем вопросе, яподелюсь с вами кодом, который ям использую

Ответы на вопрос(1)

посколькуflandmark это библиотека C ++, которая делает именно то, что вы хотите (находит угловые точки для глаз, рта и центра / кончика носа), я думаю, вы должны просто искать механизм запуска этой библиотеки изнутри JAVA. Сам flandmark не зависит от OpenCV, его используют только примеры, включенные в эту библиотеку (для обнаружения лиц и отображения результатов).

Я нашел несколько симпатичных руководств по использованию библиотек C ++ из JAVA:

http://thebreakfastpost.com/2012/01/23/wrapping-a-c-library-with-jni-part-1/
 user242504906 июн. 2013 г., 03:57
спасибо за ответ, но ссылка, которую вы дали мне, не работает, не могли бы вы дать мне еще
 uricamic18 июн. 2013 г., 22:10
Привет, это работает (по крайней мере сейчас) для меня

Ваш ответ на вопрос