SAM Image Segmentation Tool — это инструмент для интерактивной сегментации изображений на основе Segment Anything Model (SAM). Приложение позволяет пользователям быстро выделять объекты на изображениях, сохраняя результаты в виде прозрачных PNG-файлов.
SAM Image Segmentation Tool — интерактивное приложение для выделения объектов на изображениях с использованием модели Segment Anything Model (SAM). Оно позволяет легко выделять объекты, используя точечные подсказки (prompting) и операции drag-and-drop.
- Быстрая сегментация объектов по точкам на изображении.
- Поддержка drag-and-drop для серийного выделения объектов.
- Сохранение результатов в формате PNG с прозрачностью.
- Интерфейс с тёмной темой.
- Python 3.9+
- Установленные зависимости из
requirements.txt - Модель SAM (
sam_vit_h.pth,sam_vit_l.pthилиsam_vit_b.pth)
-
Клонируйте репозиторий:
git clone https://github.com/jestelf/SAM-Image-Segmentation-Tool.git cd SAM-Image-Segmentation-Tool -
Установите зависимости:
pip install -r requirements.txt
-
Скачайте модель SAM:
- Вы можете выбрать модель из официального репозитория SAM.
- Поместите скачанный файл в корень проекта. Например,
sam_vit_h.pth.
-
Запустите приложение:
python main.py
Если вы хотите собрать приложение в единый .exe файл, выполните следующие шаги:
-
Установите
auto-py-to-exe:pip install auto-py-to-exe
-
Запустите GUI для сборки:
auto-py-to-exe
-
Укажите:
- Файл
main.pyкак главный скрипт. - Дополнительно включите модель
sam_vit_h.pthчерез--add-data.
- Файл
-
Сконвертируйте файл и проверьте
.exeв папкеdist.
- Левое окно: исходное изображение с выделением объектов.
- Правое окно: итоговый результат с прозрачным фоном.
- Кнопки:
Load Image— загрузка изображения.Save PNG— сохранение результата.
- Ctrl+ЛКМ: добавление объектов (drag для серийного выделения).
- Ctrl+ПКМ: удаление объектов.
- Ctrl+Z: отмена последнего действия.
SAM-Image-Segmentation-Tool/
├── main.py # Главный скрипт
├── sam_vit_h.pth # Модель Segment Anything (HUGE)
├── requirements.txt # Зависимости проекта
├── README.md # Инструкция- Перейдите на страницу Segment Anything Model.
- Выберите одну из моделей:
sam_vit_h.pth(большая, точная)sam_vit_l.pth(средняя)sam_vit_b.pth(компактная)
- Скачайте модель и поместите в корень папки проекта.
Все необходимые библиотеки указаны в requirements.txt. Для установки выполните:
pip install -r requirements.txtСписок ключевых библиотек:
PyQt5— для GUI.cv2— для обработки изображений.numpy— для работы с массивами.segment-anything— библиотека Segment Anything Model.
Все права защищены. Лицензионная информация доступна в файле LICENSE.