MouseHangLabel

0

Описание

Простой код для разделения всех кадров видео на интервалы. Использовался для обработки экспериментов с грызунами. Результат json файл с интервалами.

Языки

  • Python100%
год назад
год назад
README.md

Обработка видео эксперимента с грызунами

Этот проект содержит скрипт

main.py
, предназначенный для обработки видеозаписей экспериментов с грызунами. Скрипт позволяет выделять интервалы времени, в течение которых производилась запись интересующих событий (например, зависаний), и сохранять информацию об этих интервалах в формате JSON.

Использование

Для запуска скрипта необходимо выполнить команду:

Например:

Требования

  • Python 3.12

Интерфейс

GUI

Управление

  • Пробел: Начать/остановить запись интервала.
  • Стрелка вверх: Увеличить скорость воспроизведения в 2 раза.
  • Стрелка вниз: Уменьшить скорость воспроизведения в 2 раза.
  • Стрелка вправо: Перейти вперед на 5 секунд.
  • Стрелка влево: Перейти назад на 5 секунд.
  • Ctrl: Приостановить/воспроизвести видео.
  • Esc: Выход. Json файл перезаписывается только здесь.

Просмотр интервалов

При просмотре видео, программа отображает интервалы, сохранённые в JSON файле:

  • Зелёная рамка: Указывает на интервалы, которые уже были записаны и не содержат текущего кадра.
  • Красная рамка: Указывает на интервалы, которые уже были записаны и содержат текущий кадр.

Загрузка и перезапись JSON файла

Программа автоматически пытается загрузить существующий JSON файл с интервалами, который имеет то же имя, что и видео файл. Если такой файл существует, интервалы из него будут загружены и отображены в интерфейсе. При сохранении новых интервалов программа проверяет, существует ли уже интервал с таким же началом или концом, и перезаписывает его, не изменяя остальные интервалы.

Структура JSON на выходе

Скрипт сохраняет информацию о записанных интервалах в файл

[название видео].json
. Файл содержит массив JSON-объектов, каждый из которых описывает один интервал.

Каждый объект содержит следующие поля:

  • "start"
    : Номер кадра начала интервала (зависания).
  • "end"
    : Номер кадра конца интервала (зависания).

Номера кадров указываются в массиве.