8

Я скачал много изображений в одном каталоге, включая People и Landscape .
Я хочу разделить каталог на две части.
Я ищу инструмент командной строки Linux для фильтрации по лицу.

2 ответа2

4

Существует facedetect, простая оболочка Python для OpenCV:

$ facedetect hasface.jpg
343 392 576 576
$ facedetect -q hasface.jpg;echo $?
0
$ facedetect noface.jpg
$ facedetect -q noface.jpg;echo $?
2

Установка в OS X:

curl https://raw.githubusercontent.com/wavexx/facedetect/master/facedetect>/usr/local/bin/facedetect;chmod +x /usr/local/bin/facedetect
brew tap homebrew/science;brew install opencv
sed -i '' s,/usr/share/opencv/haarcascades/haarcascade_frontalface_alt2.xml,/usr/local/opt/opencv/share/OpenCV/haarcascades/haarcascade_frontalface_alt2.xml, /usr/local/bin/facedetect
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH
3

Вы уже можете сделать это с помощью Picasa + gData API + GoogleCL.

Как вы знаете, Picasa распознает лица, и веб-API Google Data может получить к нему доступ. Итак, последняя часть головоломки - GoogleCL, которая дает вам доступ к службам Google (через gData) из командной строки.

Я не уверен, насколько легко сделать это из коробки. Возможно, вы будете первым, кто попытается получить доступ к данным распознавания лиц Picasa через GoogleCL, и вам нужно будет сами добавить поддержку. Но GoogleCL уже поддерживает по крайней мере некоторые функции Picasa API, поэтому не составит труда выяснить, есть ли у вас опыт программирования.

Конечно, если вам нужно решение, которое не требует загрузки ваших изображений в Интернет, то это не сработает, и в этом случае попробуйте pyFaces или OpenCV (Open Source Computer Vision).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .