Задача: получение из изображения искаженного изображения (видео).
- Загрузка изображения через web и получение искаженного изображения/видео на выходе с возможностью скачивания;
- Искажение изображения и его сохранение с помощью командной строки.
- Пример работы алгоритма:
До:
После:
fastapi
numpy
cv2
- web-интерфейс на HTML, CSS, JS;
- интерфейс командной строки.
Страница загрузки файла:
Страница с отслеживанием прогресса создания результата:
Страница с результатом и возможностью скачивания:
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
.