Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Finger auf einem bild erkennen (https://www.delphipraxis.net/133319-finger-auf-einem-bild-erkennen.html)

IIIMADDINIII 29. Apr 2009 18:56


Finger auf einem bild erkennen
 
hallöchen
ich möchte eime art Tutchchscreen mit hilfe einer kamera pogramieren. von der mathematischen seite für das berechnen der position auf dem screen ist alles klar. die einzigste frage ist: wie kann ich am schnnellsten einen finger auf einem bild zu finden? es wird varscheinlich von oben gefilmt.

FAlter 29. Apr 2009 19:18

Re: Finger auf einem bild erkennen
 
Hi,

mit einem guten neuronalen Netz könntest du eine Stelle finden, die mit hoher Wahrscheinlichkeit ein Finger sein könnte...

Ich denke aber es wäre wesentlich einfacher und genauer, einen echten TouchScreen oder die Maus zu verwenden...

Gruß
Felix

IIIMADDINIII 29. Apr 2009 19:20

Re: Finger auf einem bild erkennen
 
was ist den ein neuronales netz

FAlter 29. Apr 2009 19:23

Re: Finger auf einem bild erkennen
 
Hi,

ein neuronales Netz solltest du in deinem Kopf haben.

Lies z. B. das hier:
http://de.wikipedia.org/wiki/K%C3%BC...euronales_Netz

Gruß
Felix

quendolineDD 29. Apr 2009 20:00

Re: Finger auf einem bild erkennen
 
Und gleich will ich doch mit sagen, dass das kein leichter Hut ist und erstmal einiger Einarbeitung deinerseits benötigt.
Außerdem gibts schon einge Threads hier im Forum zu dem Thema, die du dir mal anschauen könntest. Hier im Forum suchenBilderkennung

Dunkel 29. Apr 2009 20:24

Re: Finger auf einem bild erkennen
 
Microsoft hat da mal eine recht gut funktionierende (Freeware-) Implementation für C# veröffentlicht. Man hat 2 unterschiedlich farbige Gegenstände in die Hand genommen (z.B. Kappen von Faserschreibern mit dem Doppel-D), diese wurden dann fast einwandfrei via Webcam erkannt und man konnte damit ein paar Besipielapplikationen bedienen. Nette Spielerei, produktiv würde ich das aber nicht einsetzen. Es ist einfach zu fehleranfällig (da reichen schon schlechte Lichtverhältnisse, ein nicht statischer Hintergrund oder ein blaues Auge vom letzten Kneipenbesuch :wink: und die ganze Chose funktioniert nicht mehr). Die gute alte Maus, ein Grafiktablett oder gleich ein Touchscreeen sind wesentlich benutzerfreundlicher.

IIIMADDINIII 13. Mai 2009 17:33

Re: Finger auf einem bild erkennen
 
ich habe noch mal ein bisschen im internet gegugt und habe in beischpiel gefunden wo das pogramm zahlen auf einem 6*6 pikel feld findet. das hat er gemacht indem er 36 neuronen gemacht hat und beim lernen gekuckt hat bei welcher nummer welche pixel(neuronen) geschalten sind. dies hat er in einem array geschpeichert.

das problem ist nur wenn zum beispiel die 0 kleiner als die 0 mit der er gelernt hat erkennt er das nicht mehr als 0.

kann mir mal jemand sagen wie ich ungefähr das pogrammschema zum erkennen eines fingers auf einem bild in verschiedenen größen.

jfheins 13. Mai 2009 17:50

Re: Finger auf einem bild erkennen
 
Du solltest das Grundlegende design nochmal überdenken, mit einer Kamera von oben filmen ist nur unnötiger Aufwand.

Bessere Lösung Nr.1: Touchscreen kaufen.

Bessere Lösung Nr.2: Kamera in die Glasscheibe einbauen ( http://en.wikipedia.org/wiki/Touchsc...ptical_imaging ) Duch eine geeignete Anordnung der Hardware wir enorm an Softwarekomplexität eingespart.

Ansonsten:

Um ein neuronales Netz benutzen zu können, musst du erstmal die Daten aufbereiten. Das dürfte ziemlich schwierig sein (Hautfarbe z.B. kann enorm variiieren, von fast weiß über gelb/rötlich bis fast schwarz - also fällt die Farbe schonmal raus)

Es sei denn, du kannst z.B. ein Differenzbild machen, einmal ohne und einmal mit Finger, dann kannst du einfach im Differenzbild nach hellen Stellen suchen ;)

Nikolas 13. Mai 2009 20:41

Re: Finger auf einem bild erkennen
 
Was habt ihr immer mit den neuronalen Netzen??? Das wird heutzutage in der Bildverarbeitung nicht mehr eingesetzt.
Ein NN ist keine Wunderwaffe, mit der man alles lösen kann, für das man selbst auf keine Lösung kommt.

Die Fingererkennung ist recht schwer, wenn du nicht schon länger in dem Gebiet arbeitest, wirst du wohl keine eigene Lösung finden.

Wenn du viel Zeit hast, könntest du dich in ein paar Themen einlesen:

Kameraparameter (instrinsische Matrix, Radialverzerrung)
Zentralprojektion
Bildsegmentierung (farbbasiert (z.B. im HSV-Raum) oder über Vorder/Hintergrund (Medianfiler))
Kantenerkennung (Canny-Operator)

Um den Abstand des Fingers von der Kamera zu berechnen brauchst du eine recht genaue Position des Fingers im Bild (besonders seine Breite). Wenn du da nicht unter 5px kommst, kannst du die ganze Sache vergessen. (oder du nimmst ein Stereosystem mit mehreren Kameras, aber dann könntest du sicher ein Jahr dran arbeiten.)

Wenn du wirklich 14 Jahre alt bist und so ein Programm entwickeln könntest, würdest du sicherlich einen IQ von grob 150 haben. Daher: lieber ein machbares Projekt. :mrgreen:

hadschi92 13. Mai 2009 20:58

Re: Finger auf einem bild erkennen
 
Funktionieren könnte das schon, im Internet gibt es sogar schon fertige Projekte, sogar mit Multitouchunterstützung! Also warum das Rad neu erfinden, schau dir einfach mal das Projekt hier an: http://ccv.nuigroup.com/
Und hier gibt es eine Bauanleitung, wie man sich das zusammenbasteln kann: http://www.wawerko.de/multitouch-dis...ml?sstep=1#top

Und wenn du selbst soetwas programmieren willst, dann sei dir gesagt, dass das ganze ewig dauern wird, dafür lernt man aber etwas. Eine mögliche Vorgehensweise wäre, dass du auch mit IR LEDs arbeitest und dann das Bild auf wenige Farben verringerst und dann kannst du zusammenhängende Farben als einen Bereich definieren und die Position, bzw. den Schwerpunkt bestimmen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:07 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz