# Stego App **Стеганографическое приложение для сокрытия данных в изображениях** ## Функциональность | Метод | Описание | |-------|------------------------------------------------------------------------------------------------| |**LSB**|(Least Significant Bit) | Сокрытие в младших битах пикселей. Работает с любыми изображениями | |**DCT**|(Discrete Cosine Transform) | Сокрытие в частотной области. Для гладких/однотонных изображений | ### Возможности - Графический интерфейс (Tkinter) - CLI интерфейс - Поддержка русских и английских текстов - Сохранение результатов на устройство - Расчёт вместимости изображения - Сравнение изображений (PSNR) --- ### Получение кода ## Способ 1: Клонирование репозитория (если есть доступ) git clone <ссылка_на_репозиторий> cd CourseWork # Что такое git clone? Это команда, которая скачивает копию репозитория с сервера (например, с Gitea, GitHub) на ваш компьютер. # Где взять ссылку? В веб-интерфейсе репозитория нажмите кнопку Clone или Клонировать и скопируйте ссылку (HTTPS или SSH). ## Способ 2: Скачать архив с Gitea/GitHub 1. Перейдите на страницу репозитория 2. Нажмите кнопку Download ZIP или Скачать архив 3. Распакуйте архив 4. Откройте терминал в распакованной папке ## Установка ### Автоматическая установка (рекомендуется) chmod +x install.sh ./install.sh ### Установка через pipx pipx install . ### Ручная установка зависимостей pip install numpy pillow scipy ### Установка Tkinter (Ubuntu/Debian) sudo apt install python3-tk ### Запуск |**Команда** |**Описание**| |stego-gui |Графический интерфейс| |stego --help| Помощь по CLI| ### CLI команды #LSB кодирование stego encode lsb image.png out.png -m "Секретное сообщение" #LSB декодирование stego decode lsb out.png #DCT кодирование stego encode dct image.png out.png -m "Секретное сообщение" #DCT декодирование stego decode dct out.png #Показать вместимость изображения stego capacity image.png #Сравнить два изображения (PSNR) stego psnr original.png modified.png ### Удаление #Через pipx pipx uninstall stego-app #Через скрипт chmod +x uninstall.sh ./uninstall.sh ### Требования к системе ОС: Linux (Ubuntu/Debian и производные) Python: 3.8 или выше Зависимости: numpy, pillow, scipy, tkinter Структура проекта text CourseWork/ ├── core/ # LSB, DCT, Utils ├── gui/ # Графический интерфейс ├── icons/ # Иконки приложения ├── main.py # Точка входа (CLI + GUI) ├── setup.py # Установщик пакета ├── install.sh # Скрипт автоматической установки ├── uninstall.sh # Скрипт удаления ├── stego.desktop # Ярлык для меню приложений ├── requirements.txt # Зависимости проекта └── README.md # Документация ### Известные ограничения DCT метод требует размеры изображения, кратные 8 (например, 400×400, 512×512, 800×800) DCT метод рекомендуется только для гладких/однотонных изображений Результат кодирования рекомендуется сохранять в формате PNG (без потерь) ### Лицензия MIT License ---