Data-to-Image библиотека на Python

Здравствуйте, пикабушники.

Я создал библиотеку (и интерфейс командной строки для неё), кодирующую информацию в картинку посредством записи по 3/4 байта (в зависимости от цветового пространства, с альфа каналом или без) в каждый пиксель как описание цветов RGB(A). Идея моя, я ее не украл, хотя, возможно, ее кто-то уже придумал и реализовал раньше меня. Для чего это нужно? Многие файлообменники не требуют регистрации, нежели Скайп, FileShare, Mega и т.д. Так вот, теперь есть возможность передать файлы через такие хостинги картинок. Это больше подходит для опубликования файлов если передача другим способом невозможна или анонимная передача файлов (нет прямой передачи файлов как в Skype, ты выложил, другой взял, и все без регистрации). Берешь архив с файлами, ставишь на него пароль (лучше полное шифрование, если файл один то там можно и без таблицы файлов разобраться, особенно если картинка или текст) и, используя мою либу, кодируешь в картинку и выкладываешь.
Есть вопрос, который некоторых может волновать: почему не использовать steghide или добавит данные в конец памяти после марки end? Ответы: 1) малое количество памяти для кодирования; 2) размер картинки и маленькое разрешение создаст подозрение даже у самого неопытного юзера

Я был бы рад, чтобы кто-либо протестировал её, инструкция по использованию в README.md (--help страничка, потом в 0.0.3 добавлю поэтапную инструкцию. Репозиторий:

https://www.github.com/dredsss/d2i-lib

P.S. Тестировать лучше надо второй релиз v0.0.2, он работает быстрее из-за стороннего способа записи в пиксель. Первый релиз использовал методы для использования на отдельных пикселях, работают они медленней.
P.S.2. прошу прощения за пропущенные буквы (если есть) и за исправления T9 (если есть), писал с телефона

GNU/Linux

1K постов15.5K подписчика

Добавить пост

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

Вы смотрите срез комментариев. Показать все
3
Автор поста оценил этот комментарий

Хостеры пережимают картинки, так что смысла тут не шибко много.
А устойчивые к сжатию методы давно известны - это QR коды.

Ну и ты уж не обижайся, но с использованием PIL/Pillow сильно много ума не надо, чтобы такое написать.

раскрыть ветку (6)
1
Автор поста оценил этот комментарий

Хостеры вроде ImgBB и ImgHost.com не пережимают картинки (это делают в основом в соцсетях). А про то, что это легко сделать, ты прав. Хотя OpenCV не сложнее. PIL легкий и произовдительный

P.S. У QR кодов вместимость данных ограничена не хуже, чем со steghide'ом

раскрыть ветку (5)
2
Автор поста оценил этот комментарий

И да, еще. Пробежался глазами по коду, не вникал особо, но как я понял, ты двумя вложенными циклами пишешь каждый пиксель.
Если учесть, что это питон - это охренеть как медленно.

Для таких вещей лучше как минимум numpy использовать.

раскрыть ветку (1)
Автор поста оценил этот комментарий

Пока точно не знаю, что в нем использовать. На форуме спросил вчера

Автор поста оценил этот комментарий

А можешь составить график зависимости времени (с) конвертирования от размера файла (Мб)?

раскрыть ветку (2)
Автор поста оценил этот комментарий

Можно)

раскрыть ветку (1)
Автор поста оценил этот комментарий
Ну так че?
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку