Skip to content

Эта программа определяет и обрезает рамки изображения, с однородной заливкой. Такая обрезка позволяет оставить только контент

License

Notifications You must be signed in to change notification settings

Alexandrsv/Rezak

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rezak

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

Но зачем?
  • Предположим, что есть задача наскринить отзывов, для дальнейшего размещения скринов в вебе. Если лениво скринить руками, то на странице в вебе список таких скринов будет смотреться криво. Для облегчения жизни можно обрезать картинки по контенту.
  • Предположим у нас есть пдф книга, с большими отступами от текста которую ну очень хочется почитать на планшете с маленьким экраном. Можно разобрать книгу на картинки, обрезать и потом собрать. Читать будет удобнее.

Запуск

Для одиночного файла python main.py demo.png

Массово обрезать файлы в папке find ./img -type f | xargs -n1 python main.py

Было

Было

Стало

Стало

Алгоритм работы

Приложение "Резак" использует библиотеку Pillow, для работы с изображениями

  • При помощи Pillow картинка загружается в виде матрицы, в которой содержатся цвета.
  • Берем координаты пикселя 1.1 и получаем его цвет. Предполагается, что по этим координатам можно получить цвет рамки
  • Резак последовательно, попиксельно проверяет оси X и Y, двигаясь сверху, снизу, слева, справа, по направлению от края изображения, пока не найдет пиксель, цвет которого отличается.
  • В результате прохода получаем 4 самые крайние координаты пикселей, относительно 4х сторон и обрезаем изображение
  • Profit

About

Эта программа определяет и обрезает рамки изображения, с однородной заливкой. Такая обрезка позволяет оставить только контент

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages