Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пример отчета по практике.doc
Скачиваний:
8
Добавлен:
29.10.2018
Размер:
541.7 Кб
Скачать

2.2 Разработка графического интерфейса программы

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

При разработке программы использовался набор классов пакета AWT (Abstract Window Toolkit). Библиотека AWT предназначена для разработки графического пользовательского интерфейса и содержит большое количество компонентов графического интерфейса, позволяющих реализовать удобное взаимодействие между пользователем и программным обеспечением.

2.3 Работа с видеоинформацией

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

- доступ к видеофайлу;

- выборка изображения, соответствующего изображению на видео в заданный момент времени;

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

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

В рамках разработанной программы при обработке видео использовалась библиотека JMF. JMF (Java Media Framework) – библиотека для языка Java, которая позволяет добавлять обработку аудио, видео и другой медиаинформации к приложениям [5]. Эта библиотека является опциональной, т.е. является расширением платформы Java SE (Standard Edition), с ее помощью можно записывать, проигрывать, преобразовывать многие медиаформаты. JMF добавляет технологии Java возможность разработки кроссплатформенных программ, работающих с медиаданными.

2.4 Выделение кадров на видео

Доступ к конкретным кадрам из видеофайла осуществляется с помощью средств, предоставляемых библиотекой JMF. Последовательность действий для выделения кадра из видео является следующей:

1. Создание объекта класса MediaLocator, описывающего расположение в файловой системе медиафайла.

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

3. Создание экземпляра класса FrameGrabbingControl, которые может осуществлять считывание графической информации из видео по времени кадра.

4. Перенос текущего указателя положения обработчика-экземпляра класса Processor на момент времени, в котором находится необходимый кадр.

5. Сохранение графического содержимого кадра в отдельную область оперативной памяти область, заданную форматом экземпляра класса Image.

При выполнении данного алгоритма также должны быть выполнены определенные подготовительные действия для создания обработчика медиафайла – экземпляра класса Processor, – которые являются стандартным набором операций при работе с источником медиаинформации [5].

2.5 Обработка изображений

В результате обработки видеофайлов в разрабатываемой системе формируется изображение, соответствующее изображению на видео в конкретный момент времени.

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

В программе обработка изображений производится встроенными средствами библиотек Java SE. С помощью существующих функций в программе выполняются следующие действия:

- запись изображения в файл;

- чтение изображения из файла;

- получение цвета конкретного пикселя изображения;

- получение яркости пиксели из RGB-составляющих;

- изменение цвета пикселя в изображении;

Обработка изображений в разработанной программе заключается в поиске границ объектов, представленных на изображении, градиентным методом. Данный метод определяет границу объекта на основе разницы в яркостях соседних пикселей.

Яркость каждого из пикселей находится с помощью метода RGBtoHSB() класса Color. Аббревиатуры цветовых моделей расшифровываются следующим образом:

- RGB – Red, Green, Blue – красны, зеленый, синий;

- HSB - Hue, Saturation, Brightness – тон, насыщенность, яркость.

Из полученного цвета, описанного в рамках цветовой модели HSB выделяется яркость (brightness).

Суть градиентного метода обнаружения границ заключается в дифференцировани яркости, которая рассматривается как функция, заданная в пространственных координатах. Градиент – вектор, ориентированный по направлению наиболее быстрого возрастания анализируемой функции и имеющий длину, пропорциональную максимальной скорости возрастания. Т.к. направления вектора нас не интересует, поиск границ может осуществляться с помощью анализа модуля градиента (длины вектора). В таком случае модуль градиента может быть найден по формуле:

(2.1)

где - два перпендикулярных направления, на которых определеная функция яркости .

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

(2.2)

где - координаты конкретного пикселя изображения.

Применение градиентного метода поиска границ изображения в качестве входных данных требует указание порогового значения разности яркостей пикселей.

Определение принадлежности пары пикселей границе объекта или самому объекту определяется из соотношения:

(2.3)

где - установленный порог для работы градиентного метода.

Если модуль градиента функции яркости для соседних пикселей больше установленного порога, то оба данных пикселя считаются граничными; в другом случае такие пиксели считаются частью какого-то объекта и граничными не являются.

В случае если пиксель является граничным – он закрашивается белым цветом. Если же пиксель принадлежит объекту на изображении, он закрашивается черным цветом.