cv - Converter uma imagem em informações de contorno de formas (:cv_to_shapes)
Declaração
conjunto_de_formas, imagem_visualizada = imagem:cv_to_shapes([configuracao_de_correspondencia_de_contorno])
Parâmetros
-
configuracao_de_correspondencia_de_contorno
Tabela opcionalCampos da configuração de correspondência de contorno
{
should_visualize = false | true, -- parâmetro opcional; produzir saída visualizada. O padrão é false
closed = false | true, -- parâmetro opcional; fechar a forma. O padrão é false
blur_size = integer_value, -- parâmetro opcional; pixels do núcleo de desfoque, somente números ímpares positivos. O padrão é 3
canny_threshold1 = 100, -- parâmetro opcional; limiar mínimo de borda. O padrão é 100
canny_threshold2 = 200, -- parâmetro opcional; limiar máximo de borda. O padrão é 200
approx_epsilon = integer_value, -- parâmetro opcional; percentual do perímetro para aproximar contornos e simplificar contornos complexos. O padrão é 2
}
Valores retornados
-
conjunto_de_formas
Tabela com as informações dos vértices das formas na imagemEstrutura do conjunto de formas
{
{ -- forma 1
{ -- vértice 1 da forma 1
["y"] = number_value,
["x"] = number_value,
},
{ -- vértice 2 da forma 1
["y"] = number_value,
["x"] = number_value,
},
...
},
{ -- forma 2
{ -- vértice 1 da forma 2
["y"] = number_value,
["x"] = number_value,
},
{ -- vértice 2 da forma 2
["y"] = number_value,
["x"] = number_value,
},
...
},
...
} -
imagem_visualizada
Objeto de imagem; quandooptions.should_visualizeé true, este valor retornado é uma imagem visualizada
Descrição
Converte os contornos da imagem em informações dos vértices das formas.
Recomenda-se que as imagens a serem convertidas em formas não sejam muito complexas; o ideal é usar formas fechadas com contornos nítidos.
Exemplo
local cv = require("image.cv")
local img = image.load_file(XXT_SCRIPTS_PATH..'/1.png')
-- o valor retornado é uma lista de formas, que pode conter várias formas
local shapes, visimg = img:cv_to_shapes({
blur_size = 3, -- tamanho do núcleo de desfoque
approx_epsilon = 2, -- taxa de redução de irregularidades, de 0 a 100
closed = true, -- forma fechada
should_visualize = true, -- produzir saída visualizada; quando true, o segundo valor retornado é uma imagem
})
nLog(shapes) -- exibir as informações dos vértices da lista de formas
dialog():add_image(visimg):show() -- exibir visualmente a imagem das formas