cv - Convertir une image en contours de formes (:cv_to_shapes)
Déclaration
shapes, visualized = image:cv_to_shapes([ options ])
Paramètres
-
options Table facultative
Champs d’options
{
should_visualize = false | true, -- facultatif, produire une visualisation, par défaut false
closed = false | true, -- facultatif, fermer les formes, par défaut false
blur_size = integer_value, -- facultatif, taille du noyau de flou, nombre impair positif uniquement, par défaut 3
canny_threshold1 = 100, -- facultatif, seuil inférieur de Canny, par défaut 100
canny_threshold2 = 200, -- facultatif, seuil supérieur de Canny, par défaut 200
approx_epsilon = integer_value, -- facultatif, pourcentage du périmètre d’approximation du contour, simplifie les contours complexes, par défaut 2
}
Valeur de retour
-
shapes Table : informations des sommets des formes présentes dans l’image
Structure de la collection de formes
{
{ -- forme 1
{ -- sommet 1 de la forme 1
["y"] = number_value,
["x"] = number_value,
},
{ -- sommet 2 de la forme 1
["y"] = number_value,
["x"] = number_value,
},
...
},
{ -- forme 2
{ -- sommet 1 de la forme 2
["y"] = number_value,
["x"] = number_value,
},
{ -- sommet 2 de la forme 2
["y"] = number_value,
["x"] = number_value,
},
...
},
...
} -
visualized Objet image ; lorsque
options.should_visualizevauttrue, il s’agit de l’image de visualisation retournée
Description
Convertit les contours présents dans l’image en informations de sommets de formes. Pour de meilleurs résultats, privilégiez des formes fermées simples et bien délimitées.
Exemple
local cv = require("image.cv")
local img = image.load_file(XXT_SCRIPTS_PATH..'/1.png')
local shapes, visimg = img:cv_to_shapes({
blur_size = 3,
approx_epsilon = 2,
closed = true,
should_visualize = true,
})
nLog(shapes)
dialog():add_image(visimg):show()