Aller au contenu principal

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_visualize vaut true, 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()