diff --git a/README.md b/README.md index d3a2abb..7203c30 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,100 @@ -# CourseWork - # Stego App -Стеганографическое приложение для сокрытия данных в изображениях. +**Стеганографическое приложение для сокрытия данных в изображениях** ## Функциональность -- **LSB метод** (Least Significant Bit) - сокрытие в младших битах пикселей -- **DCT метод** (Discrete Cosine Transform) - сокрытие в частотной области +| Метод | Описание | +|-------|------------------------------------------------------------------------------------------------| +|**LSB**|(Least Significant Bit) | Сокрытие в младших битах пикселей. Работает с любыми изображениями | +|**DCT**|(Discrete Cosine Transform) | Сокрытие в частотной области. Для гладких/однотонных изображений | + +### Возможности + - Графический интерфейс (Tkinter) - CLI интерфейс +- Поддержка русских и английских текстов +- Сохранение результатов на устройство +- Расчёт вместимости изображения +- Сравнение изображений (PSNR) + +--- ## Установка -### Автоматическая установка - -```bash +### Автоматическая установка (рекомендуется) chmod +x install.sh -./install.sh \ No newline at end of file +./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 +--- \ No newline at end of file diff --git a/icons/stego.png b/icons/stego.png index 1d6ff06..e881160 100644 Binary files a/icons/stego.png and b/icons/stego.png differ diff --git a/install.sh b/install.sh index 3b91113..9271424 100755 --- a/install.sh +++ b/install.sh @@ -1,3 +1,4 @@ +""" Установка приложения """ cat > install.sh << 'EOF' #!/bin/bash # Установка Stego App для Ubuntu/Debian diff --git a/main.py b/main.py index 4e1e2d7..a455a87 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 """ -CLI интерфейс для стеганографических методов LSB и DCT. +CLI интерфейс для методов LSB и DCT. Использование: python main.py encode [-m MESSAGE] [-f FILE] diff --git a/setup.py b/setup.py index 25973f5..650cdaa 100644 --- a/setup.py +++ b/setup.py @@ -1,3 +1,4 @@ +""" Основа установки и работы приложения """ #!/usr/bin/env python3 from setuptools import setup, find_packages diff --git a/stego.desktop b/stego.desktop index 7867606..38ba1e4 100644 --- a/stego.desktop +++ b/stego.desktop @@ -7,4 +7,4 @@ Icon=stego Terminal=false Categories=Graphics;Utility; Keywords=steganography;hide;image; -StartupNotify=true \ No newline at end of file +StartupNotify=true diff --git a/uninstall.sh b/uninstall.sh index 2490f6e..41350c8 100755 --- a/uninstall.sh +++ b/uninstall.sh @@ -1,3 +1,4 @@ +""" Удаление приложения """ #!/bin/bash # Удаление Stego App