Skip to main content

Jackalifying pictures!

Project description

Искажение изображений (алгоритм Seam carving)

Задача: получение из изображения искаженного изображения (видео).

Возможности искажателя

  • Загрузка изображения через web и получение искаженного изображения/видео на выходе с возможностью скачивания;

  • Искажение изображения и его сохранение с помощью командной строки.

  • Пример работы алгоритма:

До:

https://raw.githubusercontent.com/Sea-Bottle/Sea-Bottle-Jackal/master/examples/wolf.png

После:

https://raw.githubusercontent.com/Sea-Bottle/Sea-Bottle-Jackal/master/examples/wolf.gif

Зависимости

  • fastapi

  • numpy

  • cv2

Пользовательские интерфейсы

  • web-интерфейс на HTML, CSS, JS;

  • интерфейс командной строки.

Макет web-интерфейса

Страница загрузки файла:

https://raw.githubusercontent.com/Sea-Bottle/Sea-Bottle-Jackal/master/examples/main.png

Страница с отслеживанием прогресса создания результата:

https://raw.githubusercontent.com/Sea-Bottle/Sea-Bottle-Jackal/master/examples/progress.png

Страница с результатом и возможностью скачивания:

https://raw.githubusercontent.com/Sea-Bottle/Sea-Bottle-Jackal/master/examples/result.png

Интерфейс командной строки

python -m jackalify [-h] [-w] [-g] [-o OUTPUT_PATH] [INPUT_PATH]

Если не указан флаг -g, то создастся статичная картинка. Также если не указано имя выходного файла, то искажённое изображение (или gif) будет создано рядом с исходной картинкой. Если не указан флаг -w, то обязательно наличие входного файла, однако если флаг -w указан, никакие другие аргументы не должны присутствовать.

Опции:

  • -h - помощь;

  • -w - запуск серверного интерфейса (fastapi), опционально;

  • -o - имя выходного файла, опционально;

  • -g - создание gif вместо статичной картинки, опционально;

  • INPUT_PATH - путь к файлу с оригинальным изображением, опционально.

Примеры:

  • python -m jackalify wolf.png -o wolf-jackal.png - получение искаженного изображения wolf-jackal.png

  • python -m jackalify wolf.png - получение искаженного изображения wolf_jackalified.png

  • python -m jackalify wolf.png -o wolf-jackal.gif -g - получение искаженного видео wolf-jackal.gif

  • python -m jackalify -w - запуск серверного интерфейса

При установке пакета через pip вместо python -m jackalify нужно вызывать jackalify.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jackalify-0.2.4.tar.gz (68.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jackalify-0.2.4-py3-none-any.whl (35.4 kB view details)

Uploaded Python 3

File details

Details for the file jackalify-0.2.4.tar.gz.

File metadata

  • Download URL: jackalify-0.2.4.tar.gz
  • Upload date:
  • Size: 68.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.12

File hashes

Hashes for jackalify-0.2.4.tar.gz
Algorithm Hash digest
SHA256 7b683a342b279dd1e51b531426c80c56d06d29df826dd3330bd4434cb4b3cb9f
MD5 90570e39ae3e32b49d5eb6d630b5ba34
BLAKE2b-256 2ff2ed47ef1302e53ccd573af7f8fd9ac5ddcfd70692b12dd3da3c8b314fa233

See more details on using hashes here.

File details

Details for the file jackalify-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: jackalify-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 35.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.12

File hashes

Hashes for jackalify-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f20926351edd0e8db2566b9e5c7971caf032dec5a8750c3ada5ba5f3b2c6e691
MD5 4b90502739dc9754c9c0978a31cf46a1
BLAKE2b-256 f0ce69d547982b45c66b04e8ebd3acdf85ad0f8af7b0d4061738dff5a95e4fd2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page