Motion detection – part 2
felipeПреди много време бях писал на Delphi програма, която следи за движение чрез уеб-камера. Бях модифицирал алгоритъмче, намерено в мрежата и си работеше прилично. Още тогава обаче ме глождеше фактът, че може и по-добре. Наскоро почнах пак да мисля за него, поради възродените идеи за правене на робот и я направих да работи с компонента image32, който е доста бърз. Сега добавих и алгоритъмче за броене на зоните, в които e отчетено движение. Доста мъка беше, но накрая го направих. Използвам floodfill (рекурсивен, някой ден ще го направя с fastfill), и така броя обектите. Мисля да пазя и стойностите на най-горния ляв и най-долния десен пиксел, което не би трябвало да е сложно.
Но при този алгоритъм има един проблем. Когато преместиш един обект в кадъра, отчита се движение(разлика) и на мястото, на което е бил, и на мястото, на което е отишъл. За някои приложения е полезно да се знае къде точно е обектът, който се движи. Реших да запаметявам фона и да го вадя от текущото изображение, за да се отчита само “новото”, но се оказа технически по-сложно, от колкото очаквах и засега го зарязах. Все пак когато ми дойде музата подновявам експериментите.
Ще ми се да я направя универсална таз програмка, че сега само за разделителната способност на моята камера работи и да добавя разни глезотии като изпращане на електронно писмо при засичане на движение, ъплоуд на файлове, засичане на звук и т.н.






