cv – Merkmale mehrerer Bildvorlagen erkennen (:cv_detect_templates)
Deklaration
ergebnisse, visualisiertes_bild = bild:cv_detect_templates(Bildvorlagensammlung_und_Optionen)
Parameter
-
Bildvorlagensammlung und Optionen
Optional, Tabelle; jedes Element der Tabelle in Reihenfolge ist ein Bildobjekt, benannte Felder sind OptionenOptionsfelder
{
should_visualize = false | true, -- optional, visuelle Ausgabe, standardmäßig false
detector = 0 | 1 | 2, -- optional, Merkmaldetektor: 0: ORB, 1: SIFT, 2: SURF; standardmäßig 0: ORB
score_thresh = number_value, -- optional, Schwellenwert der Merkmalsübereinstimmung (Prozent), standardmäßig 90
}
Rückgabewerte
-
Ergebnissammlung
Tabelle mit den Informationen zu den im Bild erkannten VorlagenmerkmalenStruktur der Ergebnissammlung
{
{ -- Ergebnis 1
{ -- Scheitelpunkt 1 von Ergebnis 1
["y"] = number_value,
["x"] = number_value,
},
{ -- Scheitelpunkt 2 von Ergebnis 1
["y"] = number_value,
["x"] = number_value,
},
{ -- Scheitelpunkt 3 von Ergebnis 1
["y"] = number_value,
["x"] = number_value,
},
{ -- Scheitelpunkt 4 von Ergebnis 1
["y"] = number_value,
["x"] = number_value,
},
confidence = number_value, -- kombinierter Konfidenzwert aller Merkmale von Ergebnis 1
angle = number_value, -- Drehwinkel
index = number_value, -- Index der passenden Vorlage in der Bildvorlagensammlung
},
{ -- Ergebnis 2
{ -- Scheitelpunkt 1 von Ergebnis 2
["y"] = number_value,
["x"] = number_value,
},
{ -- Scheitelpunkt 2 von Ergebnis 2
["y"] = number_value,
["x"] = number_value,
},
{ -- Scheitelpunkt 3 von Ergebnis 2
["y"] = number_value,
["x"] = number_value,
},
{ -- Scheitelpunkt 4 von Ergebnis 2
["y"] = number_value,
["x"] = number_value,
},
confidence = number_value, -- kombinierter Konfidenzwert aller Merkmale von Ergebnis 2
angle = number_value, -- Drehwinkel
index = number_value, -- Index der passenden Vorlage in der Bildvorlagensammlung
},
...
} -
Visualisiertes Bild
Bildobjekt; wenn options.should_visualize true ist, enthält dieser Rückgabewert das visualisierte Bildobjekt
Beschreibung
Erkennt Bildmerkmale der Bildvorlagensammlung in einem Bild; dies kann zur Merkmalerkennung nach Verformung oder Drehung verwendet werden.
Für jede kleine Bildvorlage wird nur das beste Ergebnis mit einem Wert über score_thresh gefunden.
Unterstützt ab Version 20250625
Hinweis
Der score_thresh-Parameter unterscheidet sich von confidence im Rückgabewert.
score_thresh filtert Merkmale; confidence ist der kombinierte Konfidenzwert aller Merkmale der Vorlage.
Beispiel
local cv = require("image.cv")
local img1 = image.load_file(XXT_SCRIPTS_PATH..'/1.png')
local img2 = image.load_file(XXT_SCRIPTS_PATH..'/2.png')
local results, visimg = screen.image():cv_detect_templates({
img1, img2;
score_thresh = 90,
detector = 1, -- SIFT
should_visualize = true, -- visuelle Ausgabe; bei true ist der zweite Rückgabewert ein Bild
})
nLog(results) -- Erkennungsergebnisse ausgeben
dialog():add_image(visimg):show() -- Erkennungsergebnis visualisieren