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://github.com/Sea-Bottle/Sea-Bottle-Jackal/raw/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.5.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.5-py3-none-any.whl (35.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jackalify-0.2.5.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.5.tar.gz
Algorithm Hash digest
SHA256 231292c36982002ffd65a4cf2c9bfc51a52cf874ae774e8e7e9702a67bb18096
MD5 2b6ec09280bdf2e8f6dc1c184f325a80
BLAKE2b-256 866630dda66c2336dda624e397ad0c2753f1289e23085434a7965d8703a2fb3a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jackalify-0.2.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 cdad79cdba67751d5251c04dec75f441583dd21898e53f513a3bdcd72c185e1e
MD5 52b41f80eec45d0922170a38dc8c8bee
BLAKE2b-256 c7db1e51ca43c4a36a68bc986e1ec6de1f628b2dd4878f04dbe2fc96ba901fb7

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