Image Annotation Tool
Описание
Image Annotation Tool — это приложение для аннотирования изображений прямоугольными ограничивающими рамками с сохранением аннотаций в базу данных SQLite.
Возможности
- Загрузка изображений: Поддержка форматов PNG, JPG, JPEG, GIF, BMP
- Аннотирование: Рисование и редактирование прямоугольных ограничивающих рамок
- Интерактивное редактирование: Изменение размеров рамки перетаскиванием угловых маркеров
- Сохранение в БД: Автоматическое сохранение аннотаций с метаданными в SQLite
- Просмотр истории: Табличный просмотр всех сохраненных аннотаций
- Адаптивный интерфейс: Темная тема, поддержка изменения размеров холста
Установка
Предварительные требования
- Python 3.6 или выше
- Менеджер пакетов pip
Установка зависимостей
pip install pillow
Примечание: Библиотека tkinter входит в стандартную библиотеку Python на большинстве систем.
Использование
Рабочий процесс
- Запустите приложение
- Нажмите "Выбрать изображение" для загрузки изображения
- Введите координаты или используйте значения по умолчанию для прямоугольника
- Нажмите "Нарисовать" для создания рамки на изображении
- Редактируйте рамку, перетаскивая угловые маркеры
- Нажмите "Сохранить в базу данных" для сохранения аннотации
Интерфейс
Левая панель (холст)
- Отображение загруженного изображения
- Интерактивное рисование и редактирование прямоугольников
- Возможность перетаскивания углов для изменения размера
Правая панель (управление)
- Координаты изображения: Положение изображения на холсте (Left, Bottom, Top, Right)
- Координаты прямоугольника: Поля ввода для точного задания координат (X1, Y1, X2, Y2)
- Кнопки управления:
- "Нарисовать" — создать прямоугольник по введенным координатам
- "Очистить" — удалить текущий прямоугольник
- "Выбрать изображение" — загрузить новое изображение
- "Сохранить в базу данных" — сохранить текущую аннотацию
- "Показать историю" — просмотр всех сохраненных аннотаций
Функции базы данных
При сохранении аннотации в базу данных записывается следующая информация:
- Имя файла изображения
- Размеры изображения
- Координаты прямоугольника (относительно изображения)
- Размеры прямоугольника
- Координаты изображения на холсте
- Дата и время создания записи
Структура базы данных
Таблица annotations содержит следующие поля:
id — уникальный идентификатор
filename — имя файла изображения
image_width, image_height — размеры изображения
x1, y1, x2, y2 — координаты прямоугольника
rectangle_width, rectangle_height — размеры прямоугольника
image_left, image_bottom, image_top, image_right — положение изображения
created_at — временная метка создания
Горячие клавиши и управление
- ЛКМ на угловом маркере + перетаскивание — изменение размера прямоугольника
- Изменение размеров окна — автоматическое масштабирование изображения
- Поля ввода координат — поддержка ручного ввода значений
Особенности
- Автоматическое центрирование изображения на холсте
- Ограничение минимального размера прямоугольника (10x10 пикселей)
- Проверка вводимых данных
- Защита от потери данных при закрытии приложения
- Читаемый табличный вывод истории аннотаций
Пример использования
- Запустите приложение
- Нажмите "Выбрать изображение" и выберите файл
- В полях X1, Y1, X2, Y2 введите координаты или оставьте значения по умолчанию
- Нажмите "Нарисовать" для отображения прямоугольника
- При необходимости отрегулируйте размер перетаскиванием углов
- Нажмите "Сохранить в базу данных"
- Для просмотра всех сохраненных записей нажмите "Показать историю"
Примечание: При первом запуске приложения автоматически создается файл базы данных sqlite.db в текущей директории.