cv - Comparar imagens (:cv_compare_image)
Declaração
formas_diferentes, imagem_visualizada = imagem:cv_compare_image(outra_imagem[, configuracao_de_comparacao])
Parâmetros
-
outra_imagem
Objeto de imagem a ser comparado -
configuracao_de_comparacao
TabelaCampos da configuração de comparação
{
should_visualize = false | true, -- parâmetro opcional; produzir saída visualizada. O padrão é false
approx_epsilon = integer_value, -- parâmetro opcional; percentual do perímetro para aproximar contornos e simplificar contornos complexos. O padrão é 2
}
Valores retornados
-
formas_diferentes
Tabela com as formas das diferenças entre as duas imagensEstrutura 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
Compara duas imagens e retorna as informações dos vértices das formas nas áreas diferentes.
As dimensões das duas imagens devem ser iguais.
Exemplo
local cv = require("image.cv")
local img1 = image.load_file(XXT_SCRIPTS_PATH..'/1.png')
local img2 = image.load_file(XXT_SCRIPTS_PATH..'/2.png')
-- o valor retornado é uma lista de formas, que pode conter várias formas
local shapes, visimg = img1:cv_compare_image(img2)
nLog(shapes) -- exibir as informações dos vértices da lista de formas
dialog():add_image(visimg):show() -- exibir visualmente as formas diferentes