Структура приложения - AndreyCorelli/LaserTrack GitHub Wiki

Решение VisualStudio, содержащее:

Общую библиотеку

содержащую

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

Сборку unit-тестов

тестирование подготовленных изображений, сохранения / записи настроек и т.п.

Основную сборку

windows forms приложение, реализующее оговоренный функционал. Включает, как минимум, три окна - три режима:

  • режим калибровки камеры / звукового шаблона / указания мышью центров мишеней с онлайн-просмотром видеопотока
  • режим упражнения
  • режим просмотра результатов завершенного упражнения и архива результатов

Можно предусмотреть аутентификацию пользователей - разделение архивов упражнений по пользователям.

Наследуемый код

По адресу trunk/LegacyApp размещено базовое приложение. Наследуемое приложение реализует на 80% функционал базового приложения (см. требования). Однако, лишь некоторые модули этого приложения можно использовать при разработке.

Структура старого приложения не оптимальна. Местами излишне усложнена - использование нескольких камер одновременно в процессе выполнения упражнения. Сложный и невостребованный алгоритм поиска траектории светового пятна в пределах одного снимка.

В то же время, некоторые участки кода реализованы удовлетворительно. Например, анализ захваченного изображения с разбором скан-линий пикселей. Выбор камеры - устройства ввода. Онлайн изображение с камеры с изображением крестика (центра светового пятна) поверх картинки.