Autor Beitrag
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: Do 08.01.09 20:14 
Ich hab erstmal ne rein theoretische Frage:
Kann man es mit delphi hinkriegen, dass wenn man ein Objekt zügig in gerader Linie Durch das "Blickfeld" einer Webcam bewegt, das Festzustellen, und auch Richtung und Winkel (So auf 45 Genauigkeit) zu ermitteln?
Ist das Sehr komplex?
Also einen Bewegungsmelder mit Delphi + Webcam habe ich schonmal gesehen, aber das is ja wohl einfacher...
mfg Boldar
Shorty
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 107

Win XP, Ubuntu 8.04
Delphi 7 Prof., Delphi 2005 Pers.
BeitragVerfasst: Do 08.01.09 21:37 
Um was für ein Objekt handelt es sich denn? Ein einfarbiges Objekt auf einer andersfarbigen Fläche oder z.B. eine Hand vor einem Zimmerhintergrund?
Ersteres ist recht einfach, man durchsucht die aufgenommenen Bilder nach der Farbe des Objekts, nimmt von beiden Bildern den jeweils höchsten Punkt und bildet ihr x- und y-Differenz. Mit diesen Werten und dem Tangens bestimmt man dann den Winkel der Bewegung.
Ist es ein komplexeres Bild, wird es schon schwerer, da die Erkennung wesentlich schwieriger ist.

MfG Shorty
Boldar Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: Do 08.01.09 21:50 
mmh also es soll eine Hand vor einem Hintergrund sein, allerdings ändert sich der Hintergrund nie und ist andersfarbig (weiss) wie die Hand.
Shorty
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 107

Win XP, Ubuntu 8.04
Delphi 7 Prof., Delphi 2005 Pers.
BeitragVerfasst: Do 08.01.09 22:04 
Wenn der Hintergrund weiss ist, kannst du nach den Pixel suchen, die mit einer gewissen Toleranz nicht weiss sind. Wenn du dann die beiden oberen Pixel nimmst, bekommst du sowas raus:
ausblenden Quelltext
1:
2:
3:
4:
5:
       P1
     o
     |
     |                 P2
     |_______________o

Daraus lässt sich ein rechtwinkliges Dreieck bilden, von denen du die bei Katheten kennst. Den Winkel an P2 kannst du dann über die Umkehrfunktion des Tangens berechnen:winkel:= arctan(ydiff / xdiff)
Das ergibt den Winkel im Bogenmaß, den musst du dann gegebenfalls noch umwandeln.