cv – Bild in Konturinformationen umwandeln (:cv_to_shapes)
Deklaration
formen, visualisiertes_bild = bild:cv_to_shapes([Konturvergleichskonfiguration])
Parameter
-
Konturvergleichskonfiguration
Optional, TabelleFelder der Konturvergleichskonfiguration
{
should_visualize = false | true, -- optional, visuelle Ausgabe, standardmäßig false
closed = false | true, -- optional, geschlossene Form, standardmäßig false
blur_size = integer_value, -- optional, Pixelgröße des Unschärfekerns, nur positive ungerade Zahlen, standardmäßig 3
canny_threshold1 = 100, -- optional, unterer Kantenschwellenwert, standardmäßig 100
canny_threshold2 = 200, -- optional, oberer Kantenschwellenwert, standardmäßig 200
approx_epsilon = integer_value, -- optional, Prozentsatz des Konturumfangs zur Approximation komplexer Konturen, standardmäßig 2
}
Rückgabewerte
-
Formensammlung
Tabelle mit den Scheitelpunktinformationen der Formen im BildStruktur 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
Wandelt Konturen im Bild in Scheitelpunktinformationen von Formen um.
Das zu konvertierende Bild sollte nicht zu komplex sein; am besten eignet sich eine geschlossene Form mit klarer Kontur.
Beispiel
local cv = require("image.cv")
local img = image.load_file(XXT_SCRIPTS_PATH..'/1.png')
-- Der Rückgabewert ist eine Formenliste und kann mehrere Formen enthalten
local shapes, visimg = img:cv_to_shapes({
blur_size = 3, -- Größe des Unschärfekerns
approx_epsilon = 2, -- Toleranz gegen Unebenheiten 0~100
closed = true, -- geschlossene Form
should_visualize = true, -- visuelle Ausgabe; bei true ist der zweite Rückgabewert ein Bild
})
nLog(shapes) -- Scheitelpunktinformationen der Formenliste ausgeben
dialog():add_image(visimg):show() -- Formenbild visualisieren