Pull to refresh

Face Detection на джаве — это просто!

Java
Спешу поделиться с вами своею радостью :) Столкнулся я тут недавно с задачкой — нужно было определить местонахождения лиц на картинке.

Зачем это нужно — другой вопрос: мне, лично, понадобилось для создания модели распределения внимания по картинке, а кому-то, может быть, нужно для того, чтобы людей как в фейсбуке автоматически на групповой фотографии выделять.

Алгоритмы, в принципе, неплохо известны. Одним из лучших является алгоритм Viola & Jones, но поиск готовых имплементаций результатов не принёс. Было расстроился, но обратил внимание на замечательную нативную библиотеку — OpenCV. Библиотека ценна не только реализацией основных алгоритмов компьютерного зрения, но тем, что встречается решительно на всех платформах.

И что же вы думаете? Одним из первых в гугле выпадает вот такой замечательный проект JNI интерфейса к OpenCV!

Несколько минут закачки, десяток минут чтения документации с установкою программы, и ещё десяток — написание теста. А потом, и вот этими четырьмя строчками, просто берём и распознаём на картинке лица!

OpenCV cv = new OpenCV();
cv.loadImage("test.jpg", 300, 400);
cv.cascade("haarcascade_frontalface_default.xml");
Rectangle bounds[] = cv.detect();




Насколько я понял, JNI интерфейс написал Bryan Chung для языка Processing (кстати, на его сайте выложено видео — иллюстрация работы программы), а код был потом доработан и выложен на Atelier hypermédia под BSD license.
Tags:face detectionopencvjava
Hubs: Java
Total votes 71: ↑68 and ↓3 +65
Views25.4K

Comments 76

Only those users with full accounts are able to leave comments. Log in, please.

Popular right now

Java developer
from 150,000 to 300,000 ₽EmphasoftСанкт-Петербург
Разработчик java
from 300,000 ₽Банк «Открытие»Москва
Java разработчик
from 150,000 to 250,000 ₽Цифровые сервисыМосква
Java разработчик
from 150,000 to 180,000 ₽Цифровые сервисыСочи
Java Developer
from 160,000 to 190,000 ₽SCHNEIDER GROUPСанкт-Петербург

Top of the last 24 hours