cv - Convertir una imagen en información de contornos (:cv_to_shapes)
Declaración
conjunto_de_formas, imagen_visualizada = imagen:cv_to_shapes([configuración_de_comparación_de_contornos])
Parámetros
-
configuración_de_comparación_de_contornos
Tabla opcional.Campos de la configuración de comparación de contornos
{
should_visualize = false | true, -- Parámetro opcional: si se muestra la salida; predeterminado false
closed = false | true, -- Parámetro opcional: si la figura es cerrada; predeterminado false
blur_size = integer_value, -- Parámetro opcional: píxeles del núcleo de desenfoque; solo números impares positivos; predeterminado 3
canny_threshold1 = 100, -- Parámetro opcional: umbral de borde mínimo; predeterminado 100
canny_threshold2 = 200, -- Parámetro opcional: umbral de borde máximo; predeterminado 200
approx_epsilon = integer_value, -- Parámetro opcional: porcentaje del perímetro de aproximación del contorno para simplificar contornos complejos; predeterminado 2
}
Valor de retorno
-
conjunto_de_formas
Tabla con la información de los vértices de las formas de la imagen.Estructura del conjunto de formas
{
{ -- Forma 1
{ -- Vértice 1 de la forma 1
["y"] = number_value,
["x"] = number_value,
},
{ -- Vértice 2 de la forma 1
["y"] = number_value,
["x"] = number_value,
},
...
},
{ -- Forma 2
{ -- Vértice 1 de la forma 2
["y"] = number_value,
["x"] = number_value,
},
{ -- Vértice 2 de la forma 2
["y"] = number_value,
["x"] = number_value,
},
...
},
...
} -
imagen_visualizada
Objeto de imagen; cuandooptions.should_visualizees true, este valor de retorno contiene la visualización.
Descripción
Convierte los contornos de la imagen en información de vértices de formas. Se recomienda que las imágenes que se conviertan en formas no sean demasiado complejas; lo ideal son figuras cerradas con contornos definidos.
Ejemplo
local cv = require("image.cv")
local img = image.load_file(XXT_SCRIPTS_PATH..'/1.png')
-- El valor de retorno es una lista de formas y puede contener varias formas
local shapes, visimg = img:cv_to_shapes({
blur_size = 3, -- Tamaño del núcleo de desenfoque
approx_epsilon = 2, -- Tolerancia de eliminación de irregularidades 0~100
closed = true, -- Figura cerrada
should_visualize = true, -- Si se muestra la salida; con true, el segundo valor de retorno es una imagen
})
nLog(shapes) -- Mostrar la información de los vértices de las formas
dialog():add_image(visimg):show() -- Mostrar visualmente la imagen de las formas