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