Thread Optische Objekt-Erkennung (9 answers)
Opened by Alf at 2009-08-23 17:54

LanX-
 2009-08-26 17:18
#124866 #124866
User since
2008-07-15
1000 Artikel
BenutzerIn

user image
Ich würd über jeden Stein ein quaratisches nxn Raster legen (sagen wir mal n=10) und alle Messwerte wegschmeißen die wahrscheinlich Glitzer sind. Alle offensichtlichen Hintergrundfarben würd ich auf 0=Schwarz normieren.
(beides über ne Helligkeitsschranke, lieber zuviel als zuwenig aussortieren)

So jetzt hast du i<100 Messwerte die du mit i anderen pro bekannten Stein vergleichst und einen Abstand berechnest.

So aussem Urin würd ich sagen du berechnest den geometrischen Abstand der i Messpunkte

Also für alle bekannten Steine:
geo_stein = SUM_i sqrt( (delta R_i)² + (delta G_i)² + (delta B_i)² ) )

So und wenn für keinen der Steine $geo unter einer Genauigkeitsschranke liegt, dann rechnest du noch den nächsten Frame rein und fängst von neuem an.

Wenn das nicht klappt (bezweifle ich sehr) können wir weiter diskutieren...

UPDATE:
Der Vorteil dieser Rastermethode ist das du sowohl Farbe als auch Geometrie damit erfasst, dreieckige Steine produzieren andere Schwarzwerte als Sechseckige.

(Mir fallen schon Verbesserungsmöglichkeiten ein, aber die brauchst wahrscheinlich eh nicht.)

UPDATE2:
Und selbst wenn dein Hintergrund noch stärker fluktuiert als in dem verlinkten Bild, kannst du ausnutzen dass ein paar deiner Messpunkte am Rand IMMER den Hintergrund messen, d.h. du kannst den Farbabstand zu diesen Punkten heranziehen um den lokalen Farbbereich des Hintergrunds möglichst genau abzuschätzen.
Last edited: 2009-08-26 18:13:31 +0200 (CEST)

View full thread Optische Objekt-Erkennung