Подписаться на блог через FeedBurner

Поиск лиц на фото с помощью OpenCV в PHP

Зачастую в проектах возникает необходимость нахождения графических образов на загружаемых пользователями фотографий. Для джедаев программирования можно посоветовать реализовать алгоритм поиска нужного образа на родном языке, для всех остальных подойдет библиотека по имени OpenCV. Данная библиотека обладает довольно таки широким функционалом, вплоть до поиска лиц в видеопотоке, но мы рассмотрим поиск лиц на фотографии на PHP. Сама OpenCV написана на C/C++, что позволяет думать о её шикарной производительности, но в PHP мы её напрямую не сможем использовать, для этого возьмем экстеншн для PHP под названием PHP Facedetect.

1. Удостоверяемся, что у нас стоят все зависимости

Для корректной работы всей системы нам понадобятся:

  • pkgconfig
  • libpng
  • zlib
  • libjpeg
  • libtiff
  • python

2. Ставим OpenCV

Либо через pecl, либо через apt-get в Debian, либо из исходников.

3. Собираем и устанавливаем PHP Facedetect Extension

Качаем исходник отсюда, компилируем по инструкции в архиве и добавляем в PHP командой “phpize && ./configure && make && make install”.

4. Проверяем работу OpenCV в PHP

var_dump(face_count('party.jpeg', 'cascade.xml'));
var_dump(face_detect('party.jpeg', 'cascade.xml'));

Функции нам возвращают количество лиц на фото их координаты. А больше-то и не надо для нашей задачи:)

Вот что у нас получается в итоге:

Поиск лиц на фото с помощью OpenCV в PHP

Поиск лиц на фото с помощью OpenCV в PHP

Поиск лиц на фото с помощью OpenCV в PHP

Вот так, нет ничего проще. Трудно будет обладателям не VPS-хостингов, которым доступ к конфигурации ОС и PHP ограничен.

к статье “Поиск лиц на фото с помощью OpenCV в PHP”

  1. Спасибо, интересно! Будем читать дальше.
    http://infoprog.tk – программирование для начинающих и программирование для чайников

Оставить комментарий