PYTHONOMANIA
273 subscribers
195 photos
3 videos
1 file
616 links
Откройте для себя мир Python в PYTHONOMANIA!

Идеально подходит как для начинающих, так и для опытных разработчиков. Присоединяйтесь к нам, чтобы достичь совершенства в Python!

Сайт: https://pythonomania.github.io/
Download Telegram
📱Otary.

Otary — это современная и интуитивно понятная Python-библиотека для работы с изображениями и 2D-геометрией, объединяющая простоту, наглядность и высокую производительность.

🔹Основные возможности Otary:

🔘Унификация — единое решение для работы с изображениями и геометрией без переключения между инструментами.

🔘Читаемость — код самодокументируемый, понятный даже новичкам.

🔘Производительность — построен на NumPy и OpenCV, оптимизирован для скорости.

🔘Интерактивность — идеально подходит для Jupyter-ноутбуков и живых экспериментов.

🔘Гибкость — легко расширяется и настраивается под любые задачи.

🔻Пример:

Прочитать изображение из PDF, нарисовать эллипс, обрезать, повернуть, применить порог и отобразить:
import otary as ot

im = ot.Image.from_pdf("path/to/your/file.pdf", page_nb=0)

ellipse = ot.Ellipse(foci1=[100, 100], foci2=[400, 400], semi_major_axis=250)

im = (
im.draw_ellipses([ellipse])
.crop(x0=50, y0=50, x1=450, y1=450)
.rotate(angle=90, is_degree=True)
.threshold_simple(thresh=200)
)

im.show()


✅Всё в одной библиотеке — без OpenCV, Pillow, Scikit-Image, PyMuPDF и др.

✅Максимум гибкости для визуальных задач!

#Python #Otary #ImageProcessing #ComputerVision #DataScience #OpenCV #Geometry #PDF #Jupyter #AItools #DevTools

📱Ссылка на репозиторий:
https://github.com/poupeaua/otary
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍2🔥2
📱QRT.

QRT (QR Transfer) — это экспериментальный протокол передачи данных «экран → камера», который кодирует полезную нагрузку в последовательность QR‑кодов, собирает их в видео и позволяет другой стороне восстановить исходное сообщение, просто сняв экран на камеру.

❓Что это даёт:

🔘Air‑gapped перенос данных: передача между машинами без сети, только через экран и камеру.

🔘Однонаправленный канал: удобно для односторонних выгрузок/импорта конфигураций или ключей (при этом протокол без шифрования, для чувствительных данных не подходит).

🔘Визуальный формат: видео с QR‑кодами можно записать, переслать и декодировать позже.

🔹Как устроен протокол:

Каждый QR — это «фрейм» с текстом формата QRT1|..., где QRT1 — магическое слово и версия.

🔘HDR‑кадр: метаданные с session_id, общим числом чанков, размером, кодировкой и CRC32 всего payload.

🔘DAT‑кадры: настоящие данные с порядковым номером, общим числом фреймов и CRC32 каждого чанка.

🔘END‑кадр: завершение с повторным CRC32 всей полезной нагрузки.

За счёт session_id, sequence‑номеров и checksum’ов протокол поддерживает восстановление при «перемешанных» кадрах и контролирует целостность.

🔻Скрипты: кодирование

Проект написан на Python и поставляется набором CLI‑утилит.

🔘generate_qr_video.py

✔️Принимает текст (либо генерирует Lorem Ipsum), режет на чанки и оборачивает в QRT‑фреймы.

✔️Для каждого фрейма создаёт QR‑картинку и собирает их в mp4 через ffmpeg.

✔️Параметры: --text, --paragraphs, --chunk-size, --fps, --resolution, --output.

🔘generate_qr_video_multistream.py

✔️Рисует сразу 1–12 QR‑кодов в кадре (grid 1x1, 2x2, 3x3, 4x3 и т.п.) для резкого роста пропускной способности — вплоть до 400x относительно одиночного потока.

✔️Опции: --streams (1–12), --chunk-size, --fps, --resolution, --output, --repeat (сколько раз повторять кадр для надёжности).

🔻Скрипты: декодирование

🔘decode_qr_video.py

✔️Разбирает видео через OpenCV, вытаскивает QR‑коды с помощью pyzbar, выбрасывает дубликаты и собирает payload по sequence‑номерам.

✔️Проверяет CRC32 каждого чанка и итогового сообщения, умеет работать в более «мягком» режиме --lenient.

🔘decode_realtime.py

✔️Реал‑тайм декодер с камеры: умеет показывать bbox’ы вокруг QR, подсвечивать тип фрейма (header/footer/ok/error) цветом и рисовать прогресс‑бар по сессии.

✔️Есть интерактивный выбор камеры, поддержка Continuity Camera на macOS, хоткеи q/r/s для выхода, сброса и сохранения результата.

🐱Запуск:

Требуются Python 3.10+, ffmpeg и библиотека zbar (на macOS ставятся через Homebrew).

🔘Создание окружения: python3 -m venv .venv && source .venv/bin/activate.

🔘Установка зависимостей: pip install -r requirements.txt.

🔘Быстрый старт: python src/generate_qr_video.py для генерации ролика и python src/decode_qr_video.py captured_video.mov для восстановления текста.

#QRT #QRCode #screen2camera #airgapped #Python #dataTransfer #protocol #ffmpeg #OpenCV

📱Ссылка на репозиторий:
https://github.com/smyrgeorge/qrt
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥21