Zum Hauptinhalt springen

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
    Tabelle

    Felder 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 Bildern

    Struktur 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