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