Интерфейс программы состоит из 4 окон: управления (3), вывода изображения на экран (1), визуализации найденных точек (2) и вывода увеличенных фрагментов видеоизображения (4).
Основное окно приложения - это окно управления (3), реализованное как диалоговое окно (библиотека классов MFC). Оно включает в себя все элементы управления. Отметим, что другие окна их не содержат. Они управляются только из основного окна и отвечают исключительно за вывод графики.
Окно вывода изображения на экран (1), выводит видео-поток с видеокамеры без какой-либо обработки. Другое окно визуализации (2) отображает все найденные яркие точки. Они выделяются разными цветами, в зависимости от режима работы. Окно (4) используется на этапе настройки лабораторной установки. Оно позволяет выводить увеличенные фрагменты изображения в соответствии с заданным уровнем интенсивности, и осуществляет построение графика интенсивностей для любой выбранной строчки изображения
Фрагменты работы с программой (кликните для увеличения):
Вначале, программа находит все точки, используя при этом критерии того, что точка является яркой, и имеет строго определенную геометрическую форму. Далее, все найденные точки сопоставляются с найденными ранее. Так, для любой фиксированной ранее точки автоматически включается алгоритм предсказания ее дальнейшего местоположения, и происходит поиск наиболее близкой к этому месту точки из вновь найденных. Предсказание местоположения точки производится с помощью теории, разработанной математиком Рудольфом Калманом.
Обработка видеоизображения в реальном времени требует оптимизированных алгоритмов и наиболее быстрых численных методов, иначе программа будет не успевать обрабатывать весь видео-поток. Так, для работы с графикой используется библиотека DirectX. Она позволяет выводить изображение непосредственно на экран, минуя более медленную оконную библиотеку Windows.
В процессе работы данные заносятся не сразу в базу данных, а сначала в связный список, а потом уже, после завершения опыта, данные переносятся в базу данных Microsoft Access. Связный список строится полностью в оперативной памяти, поэтому занесение в него данных происходит намного быстрее, чем в саму базу данных.
1. Программирование захвата видеоизображения и вывод его на экран с помощью библиотеки DirectX.
2. Выбор наилучшего алгоритма основной обработки видео потока (нахождения точек).
3. Разработка методов сопровождения точки.
4. Создание удобного интерфейса программы и дополнительных возможностей настройки.
5. Совершенствование всей программы в целом.
При разработке данного проекта был учтен опыт разработчиков подобного оборудования. Ближайшим аналогом нашему прибору является прибор VideoCom, немецкой фирмы Labold Didactic.
В VideoCom применяется регистрация сигнала с помощью ПЗС линейки (512 или 1024 элемента), которая позволяет регистрировать изменение координаты физического объекта оптическим методом. Основным недостатком VideoCom, по сравнению с VideoLaboratory, является возможность измерения только линейных (одномерных) перемещений, хотя в большинстве экспериментов необходимо измерять две координаты (перемещение в плоскости). Также VideoCom позволяет отслеживать только несколько объектов.