Компьютерное зрение
Выбор и обоснование элементной базы. Комплексное изучение устройства, матрицы и принципа действия USB web-камеры. Структура и блок-схема алгоритма программы. Обратный случай распознавания статического фона – задача распознавания движения по видеопотоку.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 28.10.2017 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
1. Выбор и обоснование элементной базы
2. Структурная схема устройства
2.1 Блок-схема устройства
2.2 Устройство USB web-камеры
2.3 Матрица web-камеры
2.4 Принцип действия web-камер
3. Структура алгоритма программы
3.1 Блок-схема алгоритма программы
3.2 Описание алгоритма программы
Заключение
Список литературы
Приложения
Введение
видеопоток алгоритм программа распознавание
Компьютерное зрение - временная и интересная область компьютерной науки. Сегодня решения на базе компьютерного зрения применяются в охранных системах, в дорожных службах, медицине и бизнесе. В конечном итоге, продвижение к автоматизации процессов невозможно без развития компьютерного зрения.
Одна из простейших (и в тоже время очень важная) задач в компьютерном зрении - это отделение статического фона. Отделение фона от объектов интереса существенная часть любого аналитического решения по обработке видео потока.
Обратный случай распознавания статического фона - задача распознавания движения по видео потоку. Различные решения данной задачи применяются в охранных системах, в системах контроля передвижения, а также в системах раннего предупреждения.
1. Выбор и обоснование элементной базы
Для решения данной задачи необходимы:
USB Web- камера;
Компьютер;
Динамик.
Web-камера будет использоваться для получения изображения. На этом этапе никакого вида фильтрация выполняться не будет. Однако, стоит учесть тот факт, что чем качественнее камера, тем меньше она генерирует шумов на конечном изображении, что снизит количество ложных срабатываний при низких настройках чувствительности.
На компьютере будет использоваться написанная программа, которая будет захватывать изображение с web-камеры и обрабатывать его программными фильтрами. В случае обнаружения любого движущего объекта, программа будет генерировать звуковой сигнал и выводить его на динамик компьютера.
Динамик необходим для вывода предупреждающего звукового сигнала.
Требования к элементной базе:
Web-камера должна быть настроена и готова к работе.
Компьютер должен иметь usb-порт, к которому подключена рабочая web-камера; аудио-выход, к которому подключен рабочий динамик.
Компьютер должен управляться ОС Windows с установленным .NetFramework 4.0.
Компьютер должен быть включен и на нем должна быть запущена описываемая программа.
Динамик должен быть настроен и готов к работе. Регулятор громкости выставлен на положение, когда звук отлично слышим в любой обстановке.
2. Структурная схема устройства
2.1 Блок-схема устройства
Целиком описываемый детектор движения состоит из двух частей: программной и аппаратной. Программная часть выполняется на компьютере, управляемого ОС Windows. Обрабатываемое изображение поступает с USB web-камеры через USB порт на компьютер. Далее программа захватывает изображение и, в случае необходимости, направляет звуковой сигнал на аудио-выход. Динамик, подключенный к аудио-выходу компьютера, проигрывает звук, так же у программы есть возможность отключать сигнал тревоги при необходимости. Интерфейс программы имеется в приложении Б.
2.2 Устройство USB web-камеры
Современная web-камера представляет собой цифровое устройство, производящее видеосъемку, оцифровку, сжатие и передачу по компьютерной сети видеоизображения. Поэтому в состав web-камеры входят следующие компоненты:
ПЗС-матрица,
объектив,
оптический фильтр,
плата видеозахвата,
блок компрессии (сжатия) видеоизображения,
центральный процессор и встроенный web-сервер,
ОЗУ,
флэш-память,
сетевой интерфейс,
последовательные порты.
Некоторые модели web-камер имеют поворотные устройства и могут выполнять круговое видеонаблюдение.
Рисунок 1. Устройство web камеры
В качестве фотоприемника в большинстве web-камер применяется ПЗС-матрица - прямоугольная светочувствительная полупроводниковая пластинка с отношением сторон 3:4, которая преобразует падающий на нее свет в электрический сигнал. ПЗС-матрица состоит из большого числа светочувствительных ячеек. Для того, чтобы повысить световую чувствительность ПЗС-матрицы, нередко формируют структуру, которая создает микролинзу перед каждой из ячеек. В технических параметрах web-камеры обычно указывают формат ПЗС-матрицы (длина диагонали матрицы в дюймах), число эффективных пикселей, тип развертки (построчная или чересстрочная) и чувствительность.
Объектив - это линзовая система, предназначенная для проецирования изображения объекта наблюдения на светочувствительный элемент web-камеры. Объектив является неотъемлемой частью web-камеры, и от правильности его выбора и установки зависит качество видеоизображения, получаемого web-камерой. Часто объектив входит в комплект поставки web-камеры. Объективы характеризуются рядом важнейших параметров, таких как фокусное расстояние, относительное отверстие (F), глубина резкости, тип крепления (C, CS).
Оптические инфракрасные отсекающие фильтры, которые устанавливают в web-камеры, представляют собой оптически точные плоскопараллельные пластинки, монтируемые сверху ПЗС-матрицы. Они работают как оптические низкочастотные фильтры с частотой среза около 700 нм, вблизи красного цвета. Они отсекают инфракрасную составляющую световых волн, обеспечивая тем самым правильную цветопередачу web-камеры. Однако во многих черно-белых web-камерах такие фильтры не используются, благодаря чему достигается более высокая чувствительность web-камеры.
Плата видеозахвата (блок оцифровки) осуществляет преобразование аналогового электрического сигнала, сформированного ПЗС-матрицей, в цифровой формат. Процесс преобразования сигнала состоит из трех этапов:
Дискретизация,
Квантование,
Кодирование.
Дискретизация - считывание амплитуды электрического сигнала через равные промежутки времени (период). Этот этап преобразования сигнала характеризуется частотой дискретизации.
Квантование - это процесс представления результатов дискретизации в цифровой форме. Изменение уровня электрического сигнала за период дискретизации представляется в виде кодового слова из 8, 10 или 12 бит, которые дают соответственно 256, 1024 и 4096 уровней квантования. От числа уровней квантования зависит точность представления сигнала в цифровой форме.
Кодирование. Помимо информации об изменении уровня сигнала, полученной на предыдущем этапе, в процессе кодирования формируются биты, сообщающие о конце синхроимпульса и начале нового кадра, а также дополнительные биты защиты от ошибок.
Блок компрессии выполняет сжатие оцифрованного видеосигнала в один из форматов сжатия (JPEG, MJPEG, MPEG-1/2/4, Wavelet). Благодаря сжатию, сокращается размер видеокадра. Это необходимо для хранения и передачи видеоизображения по сети. Если локальная сеть, к которой подсоединена web-камера, имеет ограниченную полосу пропускания, то во избежание переполнения сетевого трафика целесообразно сокращать объем передаваемой информации, снизив либо частоту передачи кадров по сети, либо разрешение кадров. Большинство форматов сжатия обеспечивает разумный компромисс между этими двумя способами решения проблемы передачи видео по сети. Известные на сегодняшний день форматы сжатия позволяют получить оцифрованный поток с полосой пропускания 64 Кб - 2 Мб (при такой полосе пропускания потоки видеоданных могут работать параллельно с другими потоками данных в сетях).
Сжатие видеоизображения в web-камере может быть представлено как аппаратно, так и программно. Программная реализация компрессии дешевле, однако из-за высокой вычислительной емкости алгоритмов сжатия она малоэффективна, особенно когда требуется просматривать видеоизображение с web-камеры в online режиме. Поэтому большинство ведущих производителей выпускают web-камеры с аппаратной реализацией сжатия. Например, каждая web-камера компании AXIS Communications оснащена процессором компрессии ARTPEC, осуществляющим высокоскоростное сжатие видеоизображения в формат JPEG/MJPEG.
Центральный процессор является вычислительным ядром web-камеры. Он осуществляет операции по выводу оцифрованного и сжатого видеоизображения, а также отвечает за выполнение функций встроенного web-сервера и управляющей программы для web-камер.
Интерфейс для Ethernet служит для подключения web-камеры к сети стандарта Ethernet 10/100 Мбит/с.
Также web-камера может иметь последовательный порт для подключения модема и работы в режиме dial-up при отсутствии локальной сети. Через последовательный порт можно также подключать к web-камере периферийное оборудование.
Карта флэш-памяти позволяет обновлять управляющие программы для web-камер и хранить пользовательские HTML-страницы.
ОЗУ служит для хранения временных данных, которые генерируются при выполнении управляющих программ, и пользовательских скриптов. Многие web-камеры имеют так называемый видеобуфер. Это часть ОЗУ, зарезервированная для записи и временного хранения снятых web-камерой видеокадров. Информация в видеобуфере обновляется циклически, т.е. новый кадр записывается вместо самого старого. Эта функция необходима, если web-камера выполняет охранное видеонаблюдение, поскольку позволяет восстанавливать события, предшествующие и следующие за сигналом тревоги с подключенных к web-камере охранных датчиков.
2.3 Матрица web-камеры
Это основа web-камеры, впрочем, как и любого цифрового оптического устройства. Различаются матрицы технологией изготовления. Сегодня широкое развитие и применение получили две технологии - CMOS и CCD. Основное отличие в том, что матрицы CCD выдают более качественную картинку и создают меньше «шумов» (помех), чем матрицы на CMOS-сенсорах. Но и стоят дороже.
Помимо сенсорной технологии, стоит учитывать такой важный параметр, как разрешающая способность. От разрешения матрицы зависит качество передаваемого изображения. Интервал значений лежит в диапазоне от 0,1 до 2 мегапикселей (Мпикс), но наиболее популярно разрешение VGA, составляющее 0,3 Мпикс. (размере кадра при этом - 640x480). Для проведения интернет-видеоконференций хватит разрешения в 320 x 240 пикселей. Стандартные 640 х 480 пикселей, которые предлагают все камеры, идеально подойдут для записи небольших видеороликов, которые можно отправить по электронной почте. Наиболее дорогие модели располагают матрицей с разрешением 1280 х 960 пикселей и позволяют делать крупномасштабные фотоснимки.
Чувствительность матрицы - это параметр, который определяет минимальную освещенность, при которой камера может снимать. Измеряется чувствительность в Люксах (lux). Особо стоит подчеркнуть, что независимо от стоимости, практически все камеры, даже с CCD-сенсорами начинают «шуметь», создают помехи, если на матрицу попадает недостаточно света.
2.4 Принцип действия web-камер
Светочувствительный сенсор - это своего рода сердце любой цифровой камеры. Именно он позволяет преобразовывать свет в электрические сигналы, доступные для дальнейшей электронной обработки. Основной принцип действия и ПЗС-матрицы и КМОП-сенсоров одинаков: под воздействием света в полупроводниковых материалах рождаются носители заряда, которые впоследствии преобразуются в напряжение. Различие между ПЗС и КМОП-сенсорами заключается, прежде всего, в способе накопления и передачи заряда, а также в технологии преобразования его в аналоговое напряжение. Не вдаваясь в подробности конструкции различных типов сенсоров, отметим лишь, что КМОП-сенсоры являются значительно более дешевыми в производстве, но и более «шумными».
Принцип работы Web-камеры схож с принципом работы любой цифровой камеры или фотоаппарата. Кроме оптического объектива и светочувствительного ПЗС-матрицу или КМОП-сенсора обязательным является наличие аналого-цифрового преобразователя (АЦП), основное назначение которого - преобразовывать аналоговые сигналы светочувствительного сенсора, то есть напряжение в цифровой код. Кроме того, необходима система цветоформирования. Другим важным элементом камеры является схема, отвечающая за компрессию данных и подготовку к передаче в нужном формате. В Web-камерах видеоданные передаются в компьютер по USB-интерфейсу, то есть заключительной схемой камеры должен быть контроллер USB-интерфейса.
Аналого-цифровой преобразователь занимается дискретизацией непрерывного аналогового сигнала. Такие преобразователи характеризуются как частотой отсчетов, определяющих промежутки времени, через которые производится замер аналогового сигнала, так и своей разрядностью. Разрядность АЦП - это количество бит, использующихся для представления сигнала. Например, если используется 8-разрядный АЦП, то для представления сигнала имеется 8 бит, которые позволяют задать 256 различных значений. При использовании 10-разрядного АЦП имеется возможность дискретно задавать 1024 различных уровня сигнала.
Учитывая низкую пропускную способность USB-шины (всего 12 Мбит/с, из которых Web-камера использует не более 8 Мбит/с), данные необходимо сжимать перед непосредственной передачей в компьютер. Очевидность этого следует из простого расчета. При разрешении кадра 320Ч240 пикселей и глубине цвета 24 бита размер кадра в несжатом виде будет составлять 1,76 Мбит. При ширине полосы пропускания USB-канала 8 Мбит/с в несжатом виде можно передавать кадры со скоростью не более 4,5 кадров/с. Однако для получения качественного видео необходима скорость передачи 24 или более кадров/с. Таким образом, становится понятно, что без аппаратного сжатия передаваемой информации функционирование камеры было бы невозможно. Поэтому любой контроллер камеры должен обеспечивать необходимую компрессию данных для передачи их по USB-интерфейсу. Собственно компрессия - это и есть основное назначение USB-контроллера. Обеспечивая необходимую компрессию в реальном времени, контроллер, как правило, позволяет передавать видеопоток со скоростью 10-15 кадров/с при разрешении 640Ч480 и со скоростью 30 кадров/с при разрешении 320Ч240 и меньшем.
3. Структура алгоритма программы
3.1 Блок-схема алгоритма программы
Рисунок 2. Блок схема алгоритма программы
3.2 Описание алгоритма программы
Движение, с точки зрения компьютерного зрения - это изменение положения объектов относительно их прошлого расположения. Для того, что бы успешно детектировать движение на изображении, программа должна запоминать и хранить в себе предыдущие состояния. Существует несколько подходов к этой задаче, различающиеся, в основном количеством хранимых кадров и методами обработки их совокупности с целью получить предыдущее состояние объекта. Самый простой из этих подходов (реализованный в данном алгоритме) - хранение лишь предыдущего кадра и отсутствие последующей обработки.
Для осуществления выбранного подхода, программа должна на каждом шаге получать новое изображение с web-камеры. Этим занимается модуль захвата изображения. На каждой итерации он опрашивает web-камеру на наличие кадров и передает их дальше, для последующей обработки.
Важным этапом любой задачи связанной с обработкой изображения является фильтрация изображения от шумов. Шумы могут сильно повлиять на реализуемый алгоритм, так как любой расхождение в двух последовательных кадрах трактуется как наличие движения. В качестве фильтрации используется идея разбивки цветного изображения на каналы, для последующей обработки. При вычислении разницы предыдущего кадра с текущим, изображения будут сравниваться поканально, а затем объединены Таким образом, шум сможет повлиять на результат, если он будет одинаково представлен на всех каналах изображения.
На этапе вычисления разницы с предыдущим кадром мы имеем текущий и предыдущий кадр разбитые на каналы. Кадры представляют собой матрицы размерами эквивалентными разрешению кадра, захваченного с камеры. В результате мы получаем результирующие одноканальные изображения, которые объединяем с помощью функции «AND». Данная функция трактует любое ненулевое значение как «ИСТИНА», а любое нулевое значение, как «ЛОЖЬ». В результате мы получаем одноканальное изображение с пикселями 0 и 255.Такое изображение называется бинарной маской. Пиксели со значением 255 соответствуют пикселям захваченного кадра, в которых предположительно есть движение. Бинарная маска передается в следующий блок программы.
Блок программы, обозначенный на схеме условным оператором, проверяет наличие движения, полагаясь на бинарную маску. В данной реализации прохождение условия зависит от двух параметров среднего значения пикселя для бинарной маски и параметра чувствительности, регулируемого пользователем. Чем выше задан параметр чувствительности, тем большее среднее значение необходимо для прохождения условия. При низких значениях чувствительности условия срабатывает на любое движение и иногда на шум в изображении.
В случае прохождения условия, программа попадает в блок, подающий звуковой сигнал на динамик. Делается это с помощью функции Play, которой в качестве файла передается «signal.waw» находящийся по адресу «С:\shvv\». Делается это в отдельном потоке, что позволяет интерфейсу программы работать во время проигрывания сигнала.
Заключение
При проведении испытаний программа показала хорошие результаты и уверенно определяла движение какого-либо объекта в поле зрения web-камеры.
При низких настройках чувствительности, программа реагировала на любое возникающее движение: моргание, движения грудной клетки и прочее. При высоких настройках чувствительности программа не реагировала ни на какие движения.
Однако при небольшом уменьшении порога чувствительности, программа уже реагировала на усиленное движение рукой. Дальнейшее улучшение алгоритма, обработка видеоизображения дополнительными фильтрами позволит снизить случайные срабатывания (связанные в первую очередь с шумами в видеопотоке) и, в целом, повысить качество распознавания движения.
Так же программу можно использовать как хорошего «Сторожа». Например, если вы оставляете свой автомобиль под окном, то web-камера будет снимать машину пока вы спите, а утром вы можете просмотреть видеозапись о том, как провел ночь автомобиль. Видеозапись с "Ночной сменой" спокойно уместится на 2-5 Гб жесткого диска.
Список литературы
1. Радиотехника и электроника. (2010г). Claw.ru: техническая энциклопедия. Проверено 10:54, 18 ноября 2012 по http://tehno.claw.ru/shared/kinder/0330.htm.
2. Как устроена web-камера. Проверено в 17:54, 18 ноября 2012 по http://www.web-kamera.ru/device/.
3. Мастера DELPHI http://www.delphimaster.ru/.
Приложение А
Текст программы
Unit Unit1;
interface
uses
Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms,
Dialogs,Menus,DSPack,DSUtil,DirectShow9,StdCtrls,ExtCtrls,MPlayer;
type
TForm1=class(TForm)
FilterGraph:TFilterGraph;
VideoWindow1:TVideoWindow;
Filter1:TFilter;
ComboBox1:TComboBox;
Label1:TLabel;
Image1:TImage;
Button1:TButton;
ButtonStopPlay:TButton;
Image2:TImage;
SampleGrabber1:TSampleGrabber;
Label3:TLabel;
Label4:TLabel;
CheckBox1:TCheckBox;
Timer1:TTimer;
Memo1:TMemo;
Label2:TLabel;
CheckBox2:TCheckBox;
MediaPlayer1:TMediaPlayer;
Procedure FormCreate(Sender:TObject);
Procedure ComboBox1Change(Sender:TObject);
Procedure Button1Click(Sender:TObject);
Procedure ButtonStopPlayClick(Sender:TObject);
Procedure Button3Click(Sender:TObject);
Procedure Button4Click(Sender:TObject);
Procedure Button5Click(Sender:TObject);
Procedure CheckBox1Click(Sender:TObject);
Procedure Timer1Timer(Sender:TObject);
private
public
end;
var
Form1:TForm1;
VideoDevice:TSysDevEnum;
implementation
procedure TForm1.FormCreate(Sender:TObject);
var
i:integer;
begin
VideoDevice:=TSysDevEnum.Create(CLSID_VideoInputDeviceCategory);
If VideoDevice.CountFilters > 0 then
For i:=0 to VideoDevice.CountFilters-1 do
ComboBox1.Items.Add(VideoDevice.Filters[i].FriendlyName);
end;
procedure TForm1.ComboBox1Change(Sender:TObject);
begin
FilterGraph.ClearGraph;
FilterGraph.Active:=false;
//Задаем устройство с которым будем работать
Filter1.BaseFilter.Moniker:=VideoDevice.GetMoniker(ComboBox1.ItemIndex);
FilterGraph.Active:=true;
//Задаем что откуда будем получать и куда выводить
With FilterGraphasICaptureGraphBuilder2 do
RenderStream(@PIN_CATEGORY_PREVIEW,nil,Filter1asIBaseFilter,SampleGrabber1asIBaseFilter,VideoWindow1asIbaseFilter);
//Производим вывод изображения
FilterGraph.Play;
end;
procedure TForm1.Button1Click(Sender:TObject);
begin
SampleGrabber1.GetBitmap(Image1.Picture.Bitmap);
end;
procedure TForm1.ButtonStopPlayClick(Sender:TObject);
begin
if ButtonStopPlay.Caption= 'Смотреть видео' then
begin
FilterGraph.Play;
ButtonStopPlay.Caption:=`Остановить видео';
end
else
begin
FilterGraph.Stop;
ButtonStopPlay.Caption:='Смотреть видео';
end;
end;
procedure TForm1.Button3Click(Sender:TObject);
var
//i-координата пикселя по горизонтали
i:integer;
//j-координата пикселя по вертикали
j:integer;
//Количество различий
k:integer;
begin
SampleGrabber1.GetBitmap(Image2.Picture.Bitmap);
k:=0;
//Если картинки разные по размеру, то смысла сравнивать нет,
//поэтому осуществляем выход
if (Image1.Picture.Bitmap.Width<>Image2.Picture.Bitmap.Width)
or (Image1.Picture.Bitmap.Height<>Image2.Picture.Bitmap.Height)
then
begin
ShowMessage(`Картинки разные по размерам! Сравнение невозможно!');
exit;
end;
//Начинаем попиксельное сравнение
For i:=1 to Image1.Picture.Bitmap.Height do
begin
for j:=1 to Image1.Pictur e.Bitmap.Width do
begin
//Сравниваем пиксели обеих картинок между собой
Ifnot(Image1.Picture.Bitmap.Canvas.Pixels[i,j]=Image2.Picture.Bitmap.Canvas.Pixels[i,j])
Then k:=k+1;
//Даем поработать и другим программам
Application.ProcessMessages;
end;
end;
//Если различий нет то сообщаем об этом
If k=0 then ShowMessage(`Картинки абсолютно идентичны');
end;
procedure TForm1.Button4Click(Sender:TObject);
var
K,S:integer;
r,g,b:Byte;
Color:TColor;
begin
r:=GetRValue(K);
g:=GetGValue(K);
b:=GetBValue(K);
r:=GetRValue(S);
g:=GetGValue(S);
b:=GetBValue(S);
end;
procedure TForm1.Button5Click(Sender:TObject);
var
//i-координата пикселя по горизонтали
i:integer;
//j-координата пикселя по вертикали
j:integer;
//Количество различий
k:integer;
o:integer;
r,g,b:Byte;
Color:TColor;
S:integer;
begin
Image1.Picture.Bitmap.Monochrome:=true;
SampleGrabber1.GetBitmap(Image1.Picture.Bitmap);
exit;
//Количество различий
For i:=1 to Image1.Picture.Bitmap.Height do
For j:=1 to Image1.Picture.Bitmap.Width do
begin
K:=Image1.Picture.Bitmap.Canvas.Pixels[i,j];
r:=GetRValue(K);
g:=GetGValue(K);
b:=GetBValue(K);
b:=r;g:=r;
K:=RGB(r,g,b);
end;
end;
procedure TForm1.CheckBox1Click(Sender:TObject);
begin
if CheckBox1.CheckedthenTimer1.Enabled:=true
else Timer1.Enabled:=false;
end;
procedure TForm1.Timer1Timer(Sender:TObject);
var
//i-координата пикселя по горизонтали
i:integer;
//j-координата пикселя по вертикали
j:integer;
//Количество различий
k:integer;
r1,g1,b1:Byte;
r2,g2,b2:Byte;
FirstColor,SecondColor:Integer;
Color:TColor;
PriznakChange:byte;
begin
//Делаем первый снимок
If Timer1.Tag=0 then
begin
SampleGrabber1.GetBitmap(Image1.Picture.Bitmap);
Timer1.Tag:=1;
exit;
end;
//Через некоторое время второй, с которым будем сверять SampleGrabber1.GetBitmap(Image2.Picture.Bitmap);
Timer1.Tag:=0;
k:=0;
//Если картинки разные по размеру, то смысла сравнивать нет,
//поэтому осуществляем выход
if(Image1.Picture.Bitmap.Width<>Image2.Picture.Bitmap.Width)
or
(Image1.Picture.Bitmap.Height<>Image2.Picture.Bitmap.Height)
then
begin
//Картинки разные по размерам! Сравнение невозможно!'
exit;
end;
//Начинаем попиксельное сравнение
For i:=1 to Image1.Picture.Bitmap.Height do
begin
for j:=1 to Image1.Picture.Bitmap.Width do
begin
//Обнуляем признак изменения
PriznakChange:=0;
//Получаем цвет текущего пикселя первой картинки FirstColor:=Image1.Picture.Bitmap.Canvas.Pixels[i,j];
//Получаем составляющие RGB
r1:=GetRValue(FirstColor);
g1:=GetGValue(FirstColor);
b1:=GetBValue(FirstColor);
//Получаем цвет текущего пикселя второй картинки SecondColor:=Image2.Picture.Bitmap.Canvas.Pixels[i,j];
//Получаем составляющие RGB
r2:=GetRValue(SecondColor);
g2:=GetGValue(SecondColor);
b2:=GetBValue(SecondColor);
//Получаем составляющие RGB
If Abs(r1-r2)>20 then inc(PriznakChange);
If Abs(g1-g2)>20 then inc(PriznakChange);
If Abs(b1-b2)>20 then inc(PriznakChange);
//Начинаем проверку различий между двумя картинками
If PriznakChange=3 then k:=k+1;
//Если изменения существенные, то увеличиваем счетчик
Application.ProcessMessages;
end;
end;
//Даем поработать и другим программам
If k>2000 then
begin
Memo1.Lines.Add(FormatDateTime('hh:nn:ss',Now)+(`зафиксированы изменения попериметру');
//Если изменений больше 2000 (значение получено экспериментальным путем) Image2.Picture.Bitmap.SaveToFile('log\'+FormatDateTime('hhnnss',Now)+'.jpeg');
If CheckBox2.Checked=true then
begin
MediaPlayer1.FileName:='C:\shvv\SIGNAL.wav';
MediaPlayer1.Open;
MediaPlayer1.Play;
end
else MediaPlayer1.Stop;
end;
end;
end.
Приложение Б
Внешний вид программы
Размещено на Allbest.ru
...Подобные документы
Необходимость в системах распознавания символов. Виды сканеров и их характеристики. Оптимальное разрешение при сканировании. Программы распознавания текста. Получение электронного документа. FineReader - система оптического распознавания текстов.
презентация [469,2 K], добавлен 15.03.2015Охранно–пожарная сигнализация. Принципы работы систем пожарной сигнализации. Блок-схема алгоритма функционирования разработанного устройства. Выбор и обоснование элементной базы. Схема электрической принципиальной и проектирование цифровых устройств.
курсовая работа [786,6 K], добавлен 10.11.2011Выбор типа и структуры нейронной сети. Подбор метода распознавания, структурная схема сети Хопфилда. Обучение системы распознавания образов. Особенности работы с программой, ее достоинства и недостатки. Описание интерфейса пользователя и экранных форм.
курсовая работа [3,0 M], добавлен 14.11.2013Первое систематическое изучение искусственных нейронных сетей. Описание элементарного перцептрона. Программная реализация модели распознавания графических образов на основе перцептрона. Интерфейс программы, основные окна. Составление алгоритма приложения.
реферат [100,5 K], добавлен 18.01.2014Понятие системы распознавания образов. Классификация систем распознавания. Разработка системы распознавания формы микрообъектов. Алгоритм для создания системы распознавания микрообъектов на кристаллограмме, особенности его реализации в программной среде.
курсовая работа [16,2 M], добавлен 21.06.2014Методы предобработки изображений текстовых символов. Статистические распределения точек. Интегральные преобразования и структурный анализ. Реализация алгоритма распознавания букв. Анализ алгоритмов оптического распознавания символов. Сравнение с эталоном.
курсовая работа [2,1 M], добавлен 20.09.2014Основные понятия теории распознавания образов и ее значение. Сущность математической теории распознавания образов. Основные задачи, возникающие при разработке систем распознавания образов. Классификация систем распознавания образов реального времени.
курсовая работа [462,2 K], добавлен 15.01.2014Разработка функциональной и принципиальной схемы. Выбор управляющего контроллера. Описание МК PIC16F626, МК AVR, МК 51. Выбор элементной базы. Разработка управляющей программы. Описание алгоритма работы программы. Схема устройства, листинг программы.
курсовая работа [492,9 K], добавлен 28.12.2012Методы распознавания образов (классификаторы): байесовский, линейный, метод потенциальных функций. Разработка программы распознавания человека по его фотографиям. Примеры работы классификаторов, экспериментальные результаты о точности работы методов.
курсовая работа [2,7 M], добавлен 15.08.2011Теоретические основы распознавания образов. Функциональная схема системы распознавания. Применение байесовских методов при решении задачи распознавания образов. Байесовская сегментация изображений. Модель TAN при решении задачи классификации образов.
дипломная работа [1019,9 K], добавлен 13.10.2017Изучение понятия и свойств алгоритма. Определение сущности технологии Robson. Исполнитель, а также блок-схема алгоритма или его графическое представление, в котором он изображается в виде последовательности связанных между собой функциональных блоков.
реферат [155,9 K], добавлен 19.10.2013Оптико-электронная система идентификации объектов подвижного состава железнодорожного транспорта. Автоматический комплекс распознавания автомобильных номеров. Принципы и этапы работы систем оптического распознавания. Особенности реализации алгоритмов.
дипломная работа [887,3 K], добавлен 26.11.2013Основные цели и задачи построения систем распознавания. Построение математической модели системы распознавания образов на примере алгоритма идентификации объектов военной техники в автоматизированных телекоммуникационных комплексах систем управления.
дипломная работа [332,2 K], добавлен 30.11.2012Разработка алгоритма и программы для распознавания пола по фотографии с использованием искусственной нейронной сети. Создание алгоритмов: математического, работы с приложением, установки весов, реализации функции активации и обучения нейронной сети.
курсовая работа [1,0 M], добавлен 05.01.2013Создание базы данных по автоматизации деятельности института селекции. Перечень входной информации. Выбор и обоснование метода разработки приложения. Блок–схема решения, описание алгоритма. Схема движения и обработки информации. Инструкция пользователю.
контрольная работа [1,7 M], добавлен 16.12.2010Процесс работы сканирующего устройства. Схема устройства сканера. Контактные оптические сенсоры. Достоинства CIS-моделей. Преимущества и недостатки барабанных сканеров. Глубина цвета. Оптическая плотность. Аппаратный интерфейс. Программы распознавания.
презентация [486,2 K], добавлен 10.08.2013Словесный, графический, табличный, программный способы представления алгоритма. Основные конструкции в любом алгоритмическом языке. Теория обнаружения, различения и оценивания сигналов. Радиолокационные системы обнаружения. Система распознавания образов.
презентация [4,8 M], добавлен 09.06.2015Распознавание образов - задача идентификации объекта или определения его свойств по его изображению или аудиозаписи. История теоретических и технических изменений в данной области. Методы и принципы, применяемые в вычислительной технике для распознавания.
реферат [413,6 K], добавлен 10.04.2010Разработка алгоритма работы устройства, описание выбора элементной базы и работы принципиальной схемы. Текст программы, инициализация указателя стека, структура системы и ресурсов микроконтроллера. Запись кодов при программировании данного устройства.
контрольная работа [18,4 K], добавлен 24.12.2010Разработка программной базы для исследований в области распознавания речи и поиска ключевых слов в ней. Расчет mel-фильтров. Скрытые марковские модели. Применение в алгоритме сверточного декодирования Витерби. Методы визуализации и обработки аудиоданных.
курсовая работа [1,1 M], добавлен 01.06.2015