107 lines
3.7 KiB
Markdown
107 lines
3.7 KiB
Markdown
# 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
|
||
|
||
## Известные ограничения
|
||
DCT метод требует размеры изображения, кратные 8 (например, 400×400, 512×512, 800×800)
|
||
|
||
DCT метод рекомендуется только для гладких/однотонных изображений
|
||
|
||
Результат кодирования рекомендуется сохранять в формате PNG (без потерь)
|
||
|
||
### Лицензия
|
||
MIT License
|
||
--- |