Skip to main content

Jackalifying pictures!

Project description

Sea-Bottle-Jackal
=================

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

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

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

* Загрузка изображения через web и получение искаженного изображения/видео на выходе с возможностью скачивания;
* Искажение изображения и его сохранение с помощью командной строки.
* Пример работы алгоритма:

До:

.. figure:: https://github.com/Sea-Bottle/Sea-Bottle-Jackal/blob/master/examples/wolf.png
:scale: 70 %
:align: center


После:

.. figure:: https://github.com/Sea-Bottle/Sea-Bottle-Jackal/blob/master/examples/wolf.gif
:scale: 70 %
:align: center

Зависимости
-----------

* ``fastapi``
* ``numpy``
* ``cv2``

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

* web-интерфейс на HTML, CSS, JS;
* интерфейс командной строки.

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

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

.. figure:: https://github.com/Sea-Bottle/Sea-Bottle-Jackal/blob/master/examples/main.png
:scale: 70 %
:align: center


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

.. figure:: https://github.com/Sea-Bottle/Sea-Bottle-Jackal/blob/master/examples/progress.png
:scale: 70 %
:align: center


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

.. figure:: https://github.com/Sea-Bottle/Sea-Bottle-Jackal/blob/master/examples/result.png
:scale: 70 %
:align: center


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

``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.3.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.3-py3-none-any.whl (35.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jackalify-0.2.3.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.3.tar.gz
Algorithm Hash digest
SHA256 6dfba51304a0d05cb4b4f47e746c1b9bb8659fcd111f025539efffa055bfabfd
MD5 bc4efe27993006c7a1dcc8d227f5cdd3
BLAKE2b-256 26630067cdce591a49ab9310ffbd44748ab3ccbe24a117b0376aee72d4f69cb4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jackalify-0.2.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 63364070fe95dedbb0431c6bdcbac2d968602d461dce59d1432234eb23656afd
MD5 f5d2e7c5ed6ac08122a24fbf94c6fb54
BLAKE2b-256 80c31114b11bbdcc07cabaad1b04fed9caddfa7c0d9a4be36dab946286e9bd44

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