Entwickler-Ecke
Open Source Projekte - [Webcam] Handcheck
IceBube - Do 25.12.08 19:51
Titel: [Webcam] Handcheck
Hallo!
Zu Weihnachten habe ich eine Webcam bekommen und da ich nicht über Webcam chatte, dachte ich mir ich programmier etwas mal dazu :)
Was ist das Ziel?
Ich möchte mit der Webcam meine Hände erkennen und so einen Cursor steuern. Dieser soll also meiner Hand folgen...
Zu der neuen Version
Die neue Version unterscheidet sich vollkommen von den alten Versionen, ein paar Code Snipsel sind noch da - jedoch auch ein wenig angepasst. Das Design ist schöner geworden.
Die Hand-erkennung funktioniert besser als nie, bei mir zumindest aber ich hoffe das es nun auch bei anderen funktioniert :)!
Das Wizard
Nun gibt es auch ein Wizard, welches jeder am Anfang ausführen muss (wird beim ersten Start automatisch gestartet!).
Bei diesem Wizard können Sie die Einstellungen der Webcam einstellen, und ihre Hand wird analysiert.
Der letzte Schritt des Wizard ist ein bisschen kompliziert, deshalb dachte ich mir, ich hänge einen Screenshot in den Anhang dazu.
Sonstiges
Die Anwendung erstellt 2 Dateien im Projekt Ordner!
Edit: Beitrag erneut komplett geändert aufgrund der neuen Version
lg
Bob Murphy - Do 25.12.08 20:10
Auf dein Screenshot haste dein Gesicht vertuscht.... aber im zip Archiv ist noch ein Bild von dir! Würd ich schnell ändern;)
IceBube - Do 25.12.08 20:44
Bob Murphy hat folgendes geschrieben : |
| Auf dein Screenshot haste dein Gesicht vertuscht.... aber im zip Archiv ist noch ein Bild von dir! Würd ich schnell ändern;) |
Oops :). Naja so schlimm so ich ja nicht aus, *hoffe* ich - habs nun aber ausgebessert :)
Danke!
lg
Webo - Fr 26.12.08 15:35
Die Erkennung funktioniert bei mir gut !
Danke OpenSource hast du mich auf ne lustige Idee gebracht: Ich bastle grade so dran rum, dass sich ein zweites Fenster mit den Händen "verschieben" läst. Wenn das gut funktioniert, versuch ich noch die Abfrage für oben/unten zu bauen und dann könnte man daraus ja ein lustiges Ping/Pongspiel machen --> ist dann schon fast wie auf der Wii !!!
Grüße
Webo
Hidden - Fr 26.12.08 15:37
ihr könnt euch ja auch Handzeichen-Shortcuts machen :lol:
Webo - Fr 26.12.08 15:40
Hidden hat folgendes geschrieben : |
| ihr könnt euch ja auch Handzeichen-Shortcuts machen :lol: |
:lol:, beim genaueren Überlegen gibt es tausend Dinge, die man damit anstellen kann ...
IceBube - Fr 26.12.08 18:37
Webo hat folgendes geschrieben : |
Die Erkennung funktioniert bei mir gut !
Danke OpenSource hast du mich auf ne lustige Idee gebracht: Ich bastle grade so dran rum, dass sich ein zweites Fenster mit den Händen "verschieben" läst. Wenn das gut funktioniert, versuch ich noch die Abfrage für oben/unten zu bauen und dann könnte man daraus ja ein lustiges Ping/Pongspiel machen --> ist dann schon fast wie auf der Wii !!! |
Ich will auch ein Spiel machen :), jedoch gibt es da noch einige Probleme leider :(.
1) Wenn keine Hände zu sehen sind...
2) Ob die Hände oben bzw. unten sind kann ich (bis jetzt) nicht ermitteln..
Ich arbeite daran, falls ich eine Lösung finde - trage Sie hier ein :)
Hidden hat folgendes geschrieben : |
| ihr könnt euch ja auch Handzeichen-Shortcuts machen :lol: |
:lol: Daran hab ich auch gedacht, ich dachte ja an so ein Art "Dance-Game".
Webo hat folgendes geschrieben : |
Hidden hat folgendes geschrieben : | | ihr könnt euch ja auch Handzeichen-Shortcuts machen :lol: |
:lol:, beim genaueren Überlegen gibt es tausend Dinge, die man damit anstellen kann ... |
Stimmt^^
Danke fürs Feedback
lg
Webo hat folgendes geschrieben : |
Hidden hat folgendes geschrieben : | | ihr könnt euch ja auch Handzeichen-Shortcuts machen :lol: |
:lol:, beim genaueren Überlegen gibt es tausend Dinge, die man damit anstellen kann ... |
elundril - Fr 26.12.08 18:40
wenn mans auch für die füße machen kann dann könnte man sogar n fitnessspiel machen, bzw ein kampfsport-training. :)
Webo - Fr 26.12.08 19:08
@ IceBube: Ich werd, falls ich Fortschritte mache, diese hier natürlich posten. Vllt können wir uns ja auch zusammen an eine Art Spiel ransetzen ?
@ elundriel: Gut, dass es keine WebCams mit Geruchssensor gibt, sonst wär der dann gaaannnz schnell kaputt :) Aber, wenn man die Erkennungsgenauigkeit hoch genug ist, dann würd vermutlich auch das gehn.
Webo - Fr 26.12.08 19:33
So, ich habs soweit, dass sich das Fenster nach links/rechts bewegt und auch wieder stoppt.
Folgendes Prob hab ich noch:
- Es geht ja nur links oder rechts, man müsste noch keine, also ("Fenster bleib da, wo du bist") einbauen
Erst wenn das funzt wag ich mich an hoch/runter-Erkennung.
GericasS - Fr 26.12.08 19:39
Ich bekomme beim ausführe iwie immer die Fehlermeldung "Ungültige Gleitkommaoperation"..
IceBube - Fr 26.12.08 20:29
Webo hat folgendes geschrieben : |
So, ich habs soweit, dass sich das Fenster nach links/rechts bewegt und auch wieder stoppt.
Folgendes Prob hab ich noch:
- Es geht ja nur links oder rechts, man müsste noch keine, also ("Fenster bleib da, wo du bist") einbauen
Erst wenn das funzt wag ich mich an hoch/runter-Erkennung. |
Links und rechts ist kein Problem, und das mit dem "Fenster bleib da wo du bist" ist auch eher schwerer..
Ich denke ich bin das ganze komplett falsch angegangen. Zurzeit prüft das Programm einfach, ob sich (NormalBild <> BildJetzt) mehr auf der rechten Seite bzw. mehr auf der linken Seite geändert hat.
Also hab ich nun einen neuen Code geschrieben, bei dem ich die Farbe meiner Hand genommen habe und geschaut hab ob diese irgendwo im Bild auftaucht, dies war leider auch ein Fehlschlag :(...da die Farbe öfters im Bild "auftaucht"...
Jedoch konnte ich mit dem Code einen Button berühren (dauerte etwas aber es ging)
Ich hab jedoch schon eine andere Idee, die ist jedoch etwas komplizierter :/
GericasS hat folgendes geschrieben : |
| Ich bekomme beim ausführe iwie immer die Fehlermeldung "Ungültige Gleitkommaoperation".. |
Hmm, komisch. Kommt das immer vor??
lg
GericasS - Fr 26.12.08 20:52
Sobald ich die Exe ausführe, ja jedesmal
IceBube - Fr 26.12.08 21:02
GericasS hat folgendes geschrieben : |
| Sobald ich die Exe ausführe, ja jedesmal |
Werd mich darum kümmern, in der nächsten Version ist das hoffentlich gelöst :), überarbeite gerade das ganze Programm....
lg
IceBube - Fr 26.12.08 21:28
So, hab nun eine Test-Version angehängt!
Mehr Informationen im ersten Post.
lg
Webo - Sa 27.12.08 11:13
Mmh, die Idee ist ja schon mal wesentlich besser, doch funktionieren tuts bei mir leider nicht :( . Probiere jetzt schon 10 min rum, aber er sagt immer das meine Hand oben links ist, obwohl sie sich unten links befindet (und auf der Wand hinter mir sind auch keine dollen Farb-/Lichtunterschiede !).
Nunja, einen bösen Fehler hab ich aber noch : wenn man die Button alle mal gedrückt hat und dann mit [x] oben schließen will, dann kommen zieg Fehlermeldungen "Ungültige Zeigeroperation", so nach 5sec geht das bei mir dann in "Access Violation" über :nixweiss:
Grüße
Webo
GericasS - Sa 27.12.08 11:23
Morgen,
also ich habs eben nochmal runtergeladen, Problem siehst du im Anhang auf meinem Screenshot (immer noch die Gleitkommaoperation).
IceBube - Sa 27.12.08 11:29
Webo hat folgendes geschrieben : |
Probiere jetzt schon 10 min rum, aber er sagt immer das meine Hand oben links ist, obwohl sie sich unten links befindet (und auf der Wand hinter mir sind auch keine dollen Farb-/Lichtunterschiede !).
|
Das habe ich vergessen dazu zu sagen, du musst zuerst mit den Cursor auf deine Hand klicken und dann auf den Button "GetColor", damit er die Farbe deiner Hand bekommt.
Aber so gut funktioniert das wie gesagt auch nicht!
Webo hat folgendes geschrieben : |
Nunja, einen bösen Fehler hab ich aber noch : wenn man die Button alle mal gedrückt hat und dann mit [x] oben schließen will, dann kommen zieg Fehlermeldungen "Ungültige Zeigeroperation", so nach 5sec geht das bei mir dann in "Access Violation" über :nixweiss:
|
Die hab ich auch schon bemerkt, weiß jedoch noch nicht woran das liegt?!?
GericasS hat folgendes geschrieben : |
Morgen,
also ich habs eben nochmal runtergeladen, Problem siehst du im Anhang auf meinem Screenshot (immer noch die Gleitkommaoperation). |
Keinen Plan wieso das vorkommt! Bei mir kommt diese Meldung nie - das ist ja das komische an der "Sache"...
lg
Webo - Sa 27.12.08 12:16
IceBube hat folgendes geschrieben : |
Das habe ich vergessen dazu zu sagen, du musst zuerst mit den Cursor auf deine Hand klicken und dann auf den Button "GetColor", damit er die Farbe deiner Hand bekommt.
|
Funktioniert trotz Cursor aber auch nicht :( . Oder welchen Button muss dann klicken ?
IceBube - Sa 27.12.08 14:13
Webo hat folgendes geschrieben : |
IceBube hat folgendes geschrieben : |
Das habe ich vergessen dazu zu sagen, du musst zuerst mit den Cursor auf deine Hand klicken und dann auf den Button "GetColor", damit er die Farbe deiner Hand bekommt.
|
Funktioniert trotz Cursor aber auch nicht :( . Oder welchen Button muss dann klicken ? |
Ich hab gerade eine neue Version hochgeladen, welche besser laufen müsste als die anderen.
P.s: Bin gespannt obs bei dir funktioniert, bei mir gehts recht gut :)
lg
Bob Murphy - Sa 27.12.08 15:28
Nicht schlecht wie sich dein Programm entwickelt..... allerdings funktioniert das mit dem Cursor bewegen nicht
IceBube - Sa 27.12.08 15:36
Hm, komisch. Hast du auch den Radio Button gedrückt? "Nach der Hand...". Wie schaut das Filter Bild aus=? Screenshot wäre von dem Bild super!
lg
Bob Murphy - Sa 27.12.08 15:47
So hier.... meine Webcam ist bestimmt zu schlecht oder?
IceBube - Sa 27.12.08 15:55
Das schaut ja ganz anders aus als bei mir, und ich weiß jetzt auch was das Problem ist. Gesucht wird im FilterBild ein leerer 32x32 Raum - also wo keine Farbe ist.
Bei dir ist fast überrall keine Farbe, vielleicht liegts an der Webcam (möglich).
Vielleicht finde ich eine andere Lösung, mal schaun...
Im Anhang siehst du mein FilterBild
lg
Bob Murphy - Sa 27.12.08 16:05
Komisch.... hab schon mehrere verschiedene Möglichkeiten probiert.... Licht an/Licht aus, Licht vor mir/Licht hinter mir, dicht an der cam/weit weg.... aber es sieht nie so aus wie bei dir.... was hastn du für eine Webcam?
IceBube - Sa 27.12.08 16:10
Ich hab die "Microsoft LifeCam VX-1000"...
Webo - So 28.12.08 11:21
Bob Murphy hat folgendes geschrieben : |
| Komisch.... hab schon mehrere verschiedene Möglichkeiten probiert.... Licht an/Licht aus, Licht vor mir/Licht hinter mir, dicht an der cam/weit weg.... aber es sieht nie so aus wie bei dir.... |
Leider habe ich das Problem jetzt auch. Hab Licht an/aus, Vorhang auf/zu usw. gemacht. Zum Schluss hab ich sogar noch ne Diawand geholt und die hinter mir aufgestellt, damit's gleich wird, aber irgendwie ist das alles sehr "undeutlich" bei mir --> Cam zu schlecht ?! Schade eigentlich. Ich muss mal sehn, ob ich mir vom Bekannten (wohnt gegebüber) die sau teure Logitech Cam holen kann, dann versuch ich's damit nochmal.
Grüße
Webo
IceBube - So 28.12.08 12:18
Schaut so aus als würde es nur bei mir gehen :(.
Gar nicht so leicht die ganze Sache. Da muss ich mir doch was anderes überlegen, es muss ja eine Lösung geben, bei der es bei allen (zumindest bei den meisten) Webcams funktioniert.
Eine Idee hab ich noch, diese jedoch ist ein bisschen schwer umzusetzen. Probieren kann ich es jedoch, ich meld mich - wenn die neue Version online ist!
lg
IceBube - So 28.12.08 15:17
So, es ist wieder soweit. Ich hab nun erneut eine Idee umgesetzt. Es ist ein wenig komplizierter...
Erklärung findet ihr im ersten Post ganz unten!
Bitte sagt Bescheid obs funktioniert oder nicht!
lg
Webo - So 28.12.08 20:02
Es funktioniert "Ansatzweise". Nach meinem Empfinden ist es eher Glückssache, ob es sich das Panel verschiebt, oder nicht. In rund 10% der Fällen tut es das und den Rest hockt es irgendwo oder springt ab und zu mal ganz aus dem Bild (!) ...
Grüße
Webo
IceBube - Mi 31.12.08 18:42
So ich hab nun eine neue Version herausgebracht!
Mehr Informationen im ersten Post!
lg
Webo - Mi 31.12.08 18:46
Der Screenshot sieht schon mal sehr viel versprechend aus. Werds mir aber erst nächstes Jahr anschauen ;), hab jetzt nicht die Ruhe dazu, da ich allen noch Guten Rutsch wünschen muss und schonmal das Essen vorbereiten sollte.
IceBube - Mi 31.12.08 18:52
Webo hat folgendes geschrieben : |
| Der Screenshot sieht schon mal sehr viel versprechend aus. Werds mir aber erst nächstes Jahr anschauen ;), hab jetzt nicht die Ruhe dazu, da ich allen noch Guten Rutsch wünschen muss und schonmal das Essen vorbereiten sollte. |
Ist eh gescheiter, in dem Jahr gabs schon genug Fehltritte :mrgreen:
Guten Rutsch!
lg
passiv - Di 06.01.09 19:50
bin gerade auf das topic gestoßen (auf der suche nach webcam-ansprech-möglichkeiten) und kann das nicht ganz verstehen.
zuerst ist mir aufgefallen, dass es fast unmöglich ist, die hand einscannen zu lassen. der nimmt dafür den ausschnitt (von mir aus gesehen) rechts oben (aufm bild ist das ganz links oben), aber nur 32x32 pixel?? da ist ganz schön akrobatik gefragt, die hand ganz rein zu bekommen und dann noch die ende-taste zu erreichen (laptop :( ).
und dann ist es, wie Webo es erwähnte, dass er nur manchmal gewillt scheint, die richtige position zu erraten :lol: . und wenn ich einmal rechts war, bekomm ich ihn fast nicht mehr nach links, sosehr ich mich auch anstrenge ... da ist der Cursor dann schon irgendwo im nirvana und unmöglich wiederzufinden :roll: .
aber ansonsten, hut ab, das hat potential :zustimm: !
IceBube - Mi 07.01.09 15:32
passiv hat folgendes geschrieben : |
bin gerade auf das topic gestoßen (auf der suche nach webcam-ansprech-möglichkeiten) und kann das nicht ganz verstehen.
zuerst ist mir aufgefallen, dass es fast unmöglich ist, die hand einscannen zu lassen. der nimmt dafür den ausschnitt (von mir aus gesehen) rechts oben (aufm bild ist das ganz links oben), aber nur 32x32 pixel?? da ist ganz schön akrobatik gefragt, die hand ganz rein zu bekommen und dann noch die ende-taste zu erreichen (laptop :( ).
und dann ist es, wie Webo es erwähnte, dass er nur manchmal gewillt scheint, die richtige position zu erraten :lol: . und wenn ich einmal rechts war, bekomm ich ihn fast nicht mehr nach links, sosehr ich mich auch anstrenge ... da ist der Cursor dann schon irgendwo im nirvana und unmöglich wiederzufinden :roll: .
aber ansonsten, hut ab, das hat potential :zustimm: ! |
Eigentlich sind es glaub ich nur 24x24 > was natürlich sehr gering ist. Man muss die Hand nach oben links (wie du geschrieben hast) geben, etwas unschön gemacht...
Ich hab nicht an Notebook Benuter gedacht sry. Es funktioniert leider nur teilweise und ich habe das Projekt, da ich nicht mehr weiter komme eingestellt.
Vielleicht haben andere ja mehr Glück ;).
Danke fürs Feedback!
Edit:
Ein wichtiger Fehler beinhaltet die Version:
Wenn man den Assistenten durchgeführt hat muss man das PRogramm erst komplett beenden und neu starten. Da ich vergessen habe die Variablen zu Form1 (Hauptform) überzugeben.
Hast du es eh 2 mal versucht??
lg
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!