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

3. Структура алгоритма программы

3.1. Блок схема алгоритма программы

Рисунок 2. Блок схема алгоритма программы

3.2. Описание алгоритма программы

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

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

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

На этапе вычисления разницы с предыдущим кадром мы имеем текущий и предыдущий кадр разбитые на каналы. Кадры представляют собой матрицы размерами эквивалентными разрешению кадра, захваченного с камеры. В результате мы получаем результирующие одноканальные изображения, которые объединяем с помощью функции «AND». Данная функция трактует любое ненулевое значение как «ИСТИНА», а любое нулевое значение, как «ЛОЖЬ». В результате мы получаем одноканальное изображение с пикселями 0 и 255.Такое изображение называется бинарной маской. Пиксели со значением 255 соответствуют пикселям захваченного кадра, в которых предположительно есть движение. Бинарная маска передается в следующий блок программы.

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

В случае прохождения условия, программа попадает в блок, подающий звуковой сигнал на динамик. Делается это с помощью функции Play, которой в качестве файла передается «signal.waw» находящийся по адресу «С:\shvv\». Делается это в отдельном потоке, что позволяет интерфейсу программы работать во время проигрывания сигнала.

4. Заключение

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

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

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

Так же программу можно использовать как хорошего «Сторожа». Например, если вы оставляете свой автомобиль под окном, то web-камера будет снимать машину пока вы спите, а утром вы можете просмотреть видеозапись о том, как провел ночь автомобиль. Видеозапись с "Ночной сменой" спокойно уместится на 2-5 Гб жесткого диска.

Соседние файлы в папке СРВ курсач