Леонид, конечно +4 за идею но пример годится только в качестве прототипа. Более менее хоть сколько-нибудь полезный Motion Detector(детектор движения) делается с несколькими обязательными условиями:
1) сравнению должен подлежать не один пиксель изображения, а область не меньше чем 3х3 (ни одна камера, а тем более web, не выдаст два раза картинку с одинаково расположенным пикселем, да и помехи еще не отменял никто)
2) нужно вводить регулируемые допуски на скорость изменения яркости изображения(в противном случае при заходе солнца за тучи мы рискуем получить ложное срабатывание)
3) ну и последний момент: когда мы в свое время реализовывали охранную систему с передачей сигналов по GSM, то не малое время потратили на настройку времени обновления базового кадра, с которым сравниваются вновь поступившие. Поясню суть проблемы: если детектор каждый новый кадр сравнивает с предыдущим, то у камеры слежения появляется очевидный баг в защите - при изменение картинки в единицу времени на величину меньшую, чем допуски по пункту 1) злоумышленник может проскачить мимо не замеченным, если будет двигаться с очень маленькой скоростью. И наоборот: если каждую новую картинку скавнивать с устаревшей базовой(в пределах даже нескольких часов), то мы рискует напороться на постоянные ложные срабатывания как по пункту 2), так и по иным причинам(солнечный зайчик по стене пополз, например).
Поэтому реальный детектор движения должен выводить наружу кучу параметров, которые каждый разработчик сможет настроить в зависимости от того, для чего и где он будет его применять.
PS: мы дорабатывали исходники на С++ свободно доступные через Internet - чем и советую воспользоваться.
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
карма: 27 |
|