Архитектура системы
Система обработки изображений в режиме реального времени выполняет следующие функции:
• захват поступающих телевизионных изображений;
• улучшение качества изображений и просмотр его на экране оператора;
• обработка изображения с целью обнаружения некоторых дефектов или аномалий;
• сохранение кадров с найденными дефектами или аномалиями наряду с некоторой дополнительной информацией по условиям подводной съемки, данным устройства управления роботом, географической информацией по локализации для последующего исследования, поиска и анализа.
После проведения инспекции система дает возможность оператору просматривать и анализировать собранную информацию, касающуюся найденных дефектов. Рассматриваемая система обработки изображений структурно состоит из следующих подсистем (рис. 7.1):
• подсистема пользовательского интерфейса;
• подсистема захвата видеоизображений;
• подсистема связи с внешними источниками данных;
• подсистема обработки видеоизображений;
• подсистема визуализации результатов обработки изображения;
• подсистема связи с базой данных.
Все компоненты системы реализованы на языке программирования C++.
Подсистема пользовательского интерфейса позволяет пользователю управлять работой системы в целом, а также каждой из ее подсистем в отдельности.
Диалог пользователя с системой организуется с использованием стандартных средств ОС Windows: окна, меню, диалоги, элементы управления.
Рис. 7.1. Архитектура системы
Подсистема захвата видеоизображений предназначена для захвата отдельных кадров из входного видеопотока с целью их дальнейшей обработки. Данная подсистема использует возможности библиотеки DirectShowиз семейства библиотек DirectXдля обеспечения захвата видеокадров из видеопотоков различных видов и форматов.
Подсистема поддерживает захват следующих типов видеоизображений: а) аналоговое видео - при помощи большой номенклатуры плат захвата видеоизображений, совместимых с ОС Windows; б) цифровое видео - при помощи соответствующих цифровых интерфейсов (IEEE1994, USB); в) различные форматы видеофайлов (АVI, MPEG, QuickTime, etc.) при наличии соответствующего декодера в ОС.Подсистема связи с внешними источниками данных используется для ввода в систему других видов данных, которые дополняют информацию, содержащуюся в видеокадрах. Такой информацией может быть, например, информация об условиях, в которых получены текущие видеоизображения. Эти данные получаются в режиме реального времени от устройств управления подводным роботом и содержат информацию о глубине, ориентации робота и др. Полученная информация используется в качестве вспомогательной в процессе обработки изображений, и сохраняется в отчете об инспекции для последующего анализа. В данной версии системы поддерживается получение внешней информации через последовательный RS232C порт или сетевой TCP/IP канал.
Кроме того, пользователь имеет возможность вводить дополнительную информацию, которая позволяет структурировать данные о проведенных инспекциях в базе данных с отчетом. Благодаря этой информации данные отчета хранятся в иерархическом виде, привязанные к конкретному местоположению (месту проведения инспекции) и конкретной дате и времени (дате и времени проведения инспекции). Для этого пользователю необходимо ввести название и географическое положение пункта, а также название и описание каждого инспекционного маршрута. Пользователь вводит эти данные перед началом работы с системой.
Подсистема обработки видеоизображений отвечает за обработку изображений в реальном масштабе времени. Захваченные видеокадры, а также дополнительная информация передаются соответствующими подсистемами на вход данной подсистемы, которая обрабатывает их в соответствии с заданным алгоритмом обработки. Для построения алгоритмов обработки мы используем эффективный и гибкий принцип блочного построения алгоритмов, где сложные операции над изображениями строятся из набора более простых операций в виде обрабатывающего графа [309].
Блочный принцип построения алгоритмов и его реализация более подробно описаны ниже.Подсистема визуализации позволяет выводить на экран результаты обработки изображений. Гибкая структура этой подсистемы позволяет контролировать и выводить на экран как конечные, так и промежуточные результаты обработки, легко переключаться между разными видами выводимой на экран информации. Это помогает пользователю и разработчику контролировать и анализировать работу системы и ее алгоритмов. Данная подсистема тесно связана с подсистемой обработки информации, поскольку число различных видов выводимой информации зависит от числа и характера операций в обрабатывающем изображения графе.
Подсистема связи с базой данных используется для сохранения результатов обработки изображений в таблицах реляционной БД для их последующего просмотра и анализа. Для установления соединения с конкретной БД и сохранения в ней данных используется технология ODBC (Open Database Connectivity - открытый интерфейс доступа к базам данных), которая поддерживается большим количеством производителей СУБД. В данной версии системы в качестве базы данных используется СУБД MS Access, в которой сохраняется вся информация, кроме файлов с изображениями обнаруженных дефектов. Для просмотра и работы с собранной в базе данных информацией используются инструментальные сред
ства и процедуры MS Access - формы и отчеты. Файлы с изображениями сохраняются в отдельной папке для каждой проведенной инспекции.
7.1.2.