Skip to content

SteaveP/PhotoChopper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PhotoChopper

Консольная утилита для пакетной обработки изображений с целью создания выровненных портретных изображений.

На исходном изображении выделяются лицо и глаза. Затем путем поворота изображения выравнивается линия глаз. Финальным шагом изображения обрезаются так, чтобы на нем осталось только лицо.

Пример обработки:

preview

Description

Этот репозиторий является отрефакторенной копией проекта PhotoChopper с некоторым вырезанным функционалом (который закрыт лицензией). Сам проект создавался в первой половине 2015 года.

Программа позволяет определять лицо, глаза и обрезать изображение так, чтобы в нем оставалась голова целиком (с некоторыми настраиваемыми отступами). Это так называемое портретное изображение, которое соответствует стандартам для многих программ хранения личной информации. В требования также входит выравнивание линии глаз относительно горизонта. Программа имеет поддержку такого выравнивания.

Для лучшего понимания, что делает программа - посмотреть результат работы, показанный на скриншоте ниже. Для удобства просмотра в программе есть поддержка графической отладочной информации.

Скриншот c отладочной информацией:

preview_with_debug

В программе есть ряд ограничений:

  • поддерживается распознавание только одного лица на фотографии,
  • для более точного распознавания фон желательно должен быть более однородный и по цвету отличаться от лица и головы,
  • на маленьких изображениях (где лицо имеет малую площадь в пикселях) очень маленький процент положительных срабатыванией и возможны неточности.

Features

  • Batch processing mode
  • Optimized for large images
  • Several logging levels
  • GUI for preview and for debug capabilities
  • Config with many customization parameters
  • EXIF metadata support
  • Crop and scale image either preserving proportions or its adjusting to required

Dependencies

  • MSVC++ 2013
  • C++11
  • OpenCV=3.0.0
  • Exiv2=0.24
  • Expat=2.1.0
  • zlib=1.2.7
  • libconfig=1.5
  • tinydir

Usage

$ PhotoChopper.exe [-i=<input dir>] [-o=<output_dir>] [-s=<path to settings file>]

Authors

  • Karpov R.
  • Antonov A.

License

MIT

TODO

  • Use Qt and Boost for utilities implementation
  • Add graphical user interface
  • Asynchronus image processing in batch mode

Releases

No releases published

Packages

No packages published

Languages