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.1.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.1-py3-none-any.whl (35.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jackalify-0.2.1.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.1.tar.gz
Algorithm Hash digest
SHA256 df26bb88128d82084e1044c64dfb19cc0f58eebd32d4af9b3c4b31b7a1040b98
MD5 a41f42a0fcaebf71ba500719ae695110
BLAKE2b-256 3114a015997d9e60801ff36f958020c097d1eec04084d1c531a7907f2dd2a0ca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jackalify-0.2.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 627e74b5512e95e38a103d94edd49f8b8276ed49b92e9108c87939c6c1f2e01d
MD5 6922f4f156fe35e76fb4a80f13444fab
BLAKE2b-256 6eb0098fd0642ad3f9c2abff9646213a3beab4727e8fa797694f7edbf99b640b

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