Skip to main content

Jackalifying pictures!

Project description

# Sea-Bottle-Jackal

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

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

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

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

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

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

До:

![](examples/wolf.png)

После:

![](examples/wolf.gif)

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

  • `fastapi`

  • `numpy`

  • `cv2`

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

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

  • серверный интерфейс (`fastapi`);

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

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

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

![](examples/main.png)

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

![](examples/result.png)

### Серверный интерфейс

Пользователь может отправить POST-запрос, содержащий бинарный файл с изображением и получить результат работы в виде бинарного файла.

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

`python -m jackalify [-h] [-w] [-g] [-o OUTPUT_PATH] [input_path]`

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

options:

  • `-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` - запуск серверного интерфейса

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.0.tar.gz (68.5 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.0-py3-none-any.whl (35.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for jackalify-0.2.0.tar.gz
Algorithm Hash digest
SHA256 368f44246aef1d163ba9b05bc9da76647ad75b572a66fe5e429733d0ca10765e
MD5 7dc161e2dd3e7a172ba2ee13d09bc5b0
BLAKE2b-256 fdee230e1e49e161d181d4437841106e659a02ab3e4aea76a464d9a129547b10

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for jackalify-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d79d7e6ea849d62633e7a9b45db6a90bb3b2864d0603c678c09636c2d892b5f
MD5 9ef0e52c9649800af031232e8f7542e3
BLAKE2b-256 625fd858e5a37267d5a9bcbbdfb31e31bf1f0eb720720b6250b91b48a3c6630e

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