cv – Bilder vergleichen (:cv_compare_image)
Deklaration
abweichungsformen, visualisiertes_bild = bild:cv_compare_image(anderes_bild[, Vergleichskonfiguration])
Parameter
-
Anderes Bild
Bildobjekt, das zum Vergleich verwendet wird -
Vergleichskonfiguration
TabelleFelder der Vergleichskonfiguration
{
should_visualize = false | true, -- optional, visuelle Ausgabe, standardmäßig false
approx_epsilon = integer_value, -- optional, Prozentsatz des Konturumfangs zur Approximation komplexer Konturen, standardmäßig 2
}
Rückgabewerte
-
Abweichungsformen
Tabelle mit den Formen der Unterschiede zwischen den beiden BildernStruktur der Formensammlung
{
{ -- Form 1
{ -- Scheitelpunkt 1 von Form 1
["y"] = number_value,
["x"] = number_value,
},
{ -- Scheitelpunkt 2 von Form 1
["y"] = number_value,
["x"] = number_value,
},
...
},
{ -- Form 2
{ -- Scheitelpunkt 1 von Form 2
["y"] = number_value,
["x"] = number_value,
},
{ -- Scheitelpunkt 2 von Form 2
["y"] = number_value,
["x"] = number_value,
},
...
},
...
} -
Visualisiertes Bild
Bildobjekt; wenn options.should_visualize true ist, enthält dieser Rückgabewert das visualisierte Bildobjekt
Beschreibung
Vergleicht ein Bild mit einem anderen Bild, ermittelt ihre Unterschiede und gibt die Scheitelpunktinformationen der unterschiedlichen Bereiche zurück.
Die Abmessungen der beiden Bilder müssen übereinstimmen.
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')
-- Der Rückgabewert ist eine Formenliste und kann mehrere Formen enthalten
local shapes, visimg = img1:cv_compare_image(img2)
nLog(shapes) -- Scheitelpunktinformationen der Formenliste ausgeben
dialog():add_image(visimg):show() -- Bild der Unterschiedsformen visualisieren