Saltar al contenido principal

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; cuando options.should_visualize es 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