Hallo,
für ein Projekt von mir habe ich eine Komponente benötigt welche Bewegungen in einem Video erkennen kann. Das Ergebnis findet Ihr hier 😉
Das ganze basiert auf einer modifizierten Video4Mono Library welche ich schon vor einigen Monaten mal veröffentlicht habe (ist im Source hier inkludiert). Ich verwende einen relativ simplen Algorithmus zur erkennung der Bewegung:* Das derzeitige Bild wird in ein Raster unterteilt
Für jedes Bild des Videos wird ein Array mit Rectangles zurück gegeben in welchem Bewegung festgestellt wurde. Sieht dann so aus wie am beiliegenden Screenshot.
Grüsse,
Egon
egrath's Blog: http://egonrath.eg.funpic.de/wordpress
Geile Komponente 😉
Werd gleich mal damit herum spielen
"2 Dinge sind unendlich die Dummheit der Menschen und das Universum, aber beim Universum bin ich mir noch nicht so ganz sicher."
Hallo egrath,
wobei wohl auch Helligkeitsänderungen (z.B. wenn man abends das Licht einschaltet) als Bewegung erkannt werden. Ist nicht schlimm, und ja auch wohl prinzipbedingt. Ich wollte es einfach nur als Zusatzinfo anmerken.
herbivore
wobei wohl auch Helligkeitsänderungen (z.B. wenn man abends das Licht einschaltet) als Bewegung erkannt werden.
Was durchaus gewuenscht sein kann, z.B. bei Ueberwachungskameras.
be the hammer, not the nail!
gibt es sowas auch für .net?
Hallo JAck30lena,
die Komponente hier gibts eigentlich (von mir) nur für Mono, da ich auf die Video4Linux API zurückgreife um an die Bilder der Kamera zu kommen.
Vor einiger Zeit hab ich aber mal einen Wrapper für Video4Windows veröffentlicht (liegt hier irgendwo im Forum unter den Projekten). Vom Prinzip her kannst Du den Algorithmus zur Motion Detection adaptieren (MotionDetection.cs). Da ich ohnehin beinahe nur mit den Rohdaten (RGB) der einzelnen Bilder arbeite ist es ein relativ leichtes diese nicht mehr von einem Gdk.Pixbuf sonder z.b. einem System.Drawing.Image oder System.Drawing.Bitmap zu nehmen.
@Herbivore:
Ja das mit der Helligkeit ist zur Zeit noch eines meiner größeren Probleme. Ich tüftle schon seit gestern rum wie ich Helligkeitsänderungen ignorieren kann - mit mehr oder weniger erfolg zur Zeit. Ich denke dass ich den gesamten Algorithmus zur erkennung von Bewegung anders implementieren werde.
Grüsse,
Egon
egrath's Blog: http://egonrath.eg.funpic.de/wordpress