Jackalifying pictures!
Project description
# Sea-Bottle-Jackal
## Искажение изображений (алгоритм Seam carving)
_Задача:_ получение из изображения искаженного изображения (видео).
### Возможности искажателя
Загрузка изображения через web и получение искаженного изображения/видео на выходе с возможностью скачивания;
Искажение изображения и его сохранение с помощью командной строки.
Пример работы алгоритма:
До:

После:

## Зависимости
`fastapi`
`numpy`
`cv2`
## Пользовательские интерфейсы
web-интерфейс на HTML, CSS, JS;
серверный интерфейс (`fastapi`);
интерфейс командной строки.
### Макет web-интерфейса
Страница загрузки файла:

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

### Серверный интерфейс
Пользователь может отправить 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
368f44246aef1d163ba9b05bc9da76647ad75b572a66fe5e429733d0ca10765e
|
|
| MD5 |
7dc161e2dd3e7a172ba2ee13d09bc5b0
|
|
| BLAKE2b-256 |
fdee230e1e49e161d181d4437841106e659a02ab3e4aea76a464d9a129547b10
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d79d7e6ea849d62633e7a9b45db6a90bb3b2864d0603c678c09636c2d892b5f
|
|
| MD5 |
9ef0e52c9649800af031232e8f7542e3
|
|
| BLAKE2b-256 |
625fd858e5a37267d5a9bcbbdfb31e31bf1f0eb720720b6250b91b48a3c6630e
|