Die Suche abstimmen
Alle diese Werte sind Eingaben von find-template. Die Standardwerte suchen die Vorlage in ihrer ursprünglichen
Größe und Ausrichtung; das ist die schnellste Konfiguration und der richtige Ausgangspunkt.
Suchbereich
| Knoten | Typ | Standard | Beschreibung |
|---|---|---|---|
|
double |
|
Kleinster Skalierungsfaktor der Vorlage. Muss größer als 0 sein |
|
double |
|
Größter Skalierungsfaktor der Vorlage |
|
double |
|
Schrittweite zwischen den durchsuchten Skalierungen |
|
double |
|
Kleinste Drehung in Grad, 0 bis 360 |
|
double |
|
Größte Drehung in Grad, 0 bis 360 |
|
double |
|
Schrittweite zwischen den durchsuchten Drehungen. Muss größer als 0 sein |
Ist das Minimum gleich dem Maximum, wird nur dieser eine Wert durchsucht und die Schrittweite ignoriert.
|
Die Arbeit ist ein Durchlauf pro Kombination. Die Suche über 5 Skalierungen und 36 Drehungen sind 180 Durchläufe über das Bild, nicht 41. Erweitern Sie einen Bereich nur so weit, wie die Teile tatsächlich variieren, und bevorzugen Sie eine grobe Schrittweite: Eine Drehungsschrittweite von 5 Grad lokalisiert ein Teil meist gut genug für eine anschließende Messung. |
Matching
| Knoten | Typ | Standard | Beschreibung |
|---|---|---|---|
|
double |
|
Kleinster akzeptierter Score, 0 bis 1 |
|
string |
|
Matching-Algorithmus |
|
bool |
|
Matching auf Graustufen, wenn die Bilder farbig sind |
match-mode akzeptiert TM_SQDIFF, TM_SQDIFF_NORMED, TM_CCORR, TM_CCORR_NORMED, TM_CCOEFF und
TM_CCOEFF_NORMED. Scores verschiedener Modi sind nicht vergleichbar; deshalb ist der verwendete Modus im
Ergebnis enthalten.
use-grayscale macht das Matching etwa dreimal schneller, weil nicht jeder Farbkanal einzeln korreliert wird,
und kostet in den meisten industriellen Szenen kaum Genauigkeit. Schalten Sie es aus, wenn die Farbe das Teil
unterscheidet.
Die Konfidenz verstehen
Die Konfidenz ist kein absolutes Maß der Ähnlichkeit. Die Score-Karte wird für jeden Skalierungs-/Drehungsschritt einmal neu skaliert, was zwei Konsequenzen hat, die man kennen sollte:
-
Die beste Stelle jedes Schritts erreicht eine Konfidenz nahe 1, auch wenn die Skalierung dieses Schritts zu nichts im Bild passt.
-
match-threshwirkt daher pro Schritt statt global, sobald Sie einen Bereich durchsuchen.
Eine Suche mit einer einzigen Skalierung und Drehung verhält sich wie erwartet. Eine weite Suche kann neben dem echten Treffer schwache Treffer an unzusammenhängenden Stellen melden. Der echte Treffer ist weiterhin der Eintrag mit der höchsten Konfidenz, an Index 0.
Wenn Sie Scheintreffer sehen, erhöhen Sie match-thresh oder verkleinern Sie den Bereich.
Die Anwendung entfernt außerdem Duplikate: Ohne das würde eine Suche über 10 Schritte dasselbe Teil bis zu 10-mal melden. Entfernt werden nur Wiederholungen an derselben Stelle; deshalb kann ein schwacher Treffer an anderer Stelle trotzdem erscheinen.
Vorverarbeitung
| Knoten | Typ | Standard | Beschreibung |
|---|---|---|---|
|
double |
|
Stärke der Gauß-Unschärfe in X. 0 oder weniger schaltet die Unschärfe aus |
|
double |
|
Stärke der Unschärfe in Y. 0 bedeutet dieselbe wie in X |
|
uint32 |
|
Breite des Unschärfe-Kernels. 0 leitet sie aus der Stärke der Unschärfe ab; sonst eine ungerade Zahl |
|
uint32 |
|
Höhe des Unschärfe-Kernels. 0 leitet sie aus der Stärke der Unschärfe ab; sonst eine ungerade Zahl |
|
int32 |
|
Verkleinert beide Bilder vor dem Matching um diesen Faktor. 1 schaltet es aus |
Die Unschärfe unterdrückt Sensorrauschen, auf Kosten etwas Positionsgenauigkeit. Der Standardwert ist eine leichte Unschärfe, die zu den meisten Kameras passt.
Binning ist die wirksamste Stellschraube für die Geschwindigkeit: Der Matching-Aufwand sinkt mit dem Quadrat des Faktors; eine Bin-Größe von 2 ist also etwa viermal schneller. Die Grenze ist die Vorlage - sobald ein unterscheidendes Merkmal auf wenige Pixel schrumpft, ist es nicht mehr unterscheidbar. Kleine oder dünne Vorlagen sollten bei 1 bleiben.
Eine praktische Reihenfolge
-
Beginnen Sie mit den Standardwerten und suchen Sie nach einer Vorlage, die aus demselben Aufbau ausgeschnitten wurde. Bestätigen Sie, dass sie gefunden wird.
-
Wenn die Teile in der Ausrichtung variieren, erweitern Sie den Drehungsbereich mit einer groben Schrittweite.
-
Wenn sie im Abstand variieren, erweitern Sie den Skalierungsbereich.
-
Wenn es zu langsam ist, erhöhen Sie
bin-sizeauf 2 und prüfen Sie, ob die Konfidenz noch akzeptabel ist. -
Wenn Scheintreffer erscheinen, erhöhen Sie
match-thresh.