Saltar al contenido principal

cv - Comparar imágenes (:cv_compare_image)

Declaración

conjunto_de_formas_diferentes, imagen_visualizada = imagen:cv_compare_image(otra_imagen[, opciones_de_comparación])

Parámetros

  • otra_imagen
    Objeto de imagen que se comparará con la imagen actual.

  • opciones_de_comparación
    Tabla.

    Campos de las opciones de comparación
    {
    should_visualize = false | true, -- Parámetro opcional: si se muestra la salida; predeterminado false
    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_diferentes
    Tabla con las formas diferentes entre las dos imágenes.

    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

Compara una imagen con otra y devuelve la información de los vértices de las formas de las regiones diferentes. Las dimensiones de las dos imágenes deben coincidir.

Ejemplo

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')
-- El valor de retorno es una lista de formas y puede contener varias formas
local shapes, visimg = img1:cv_compare_image(img2)
nLog(shapes) -- Mostrar la información de los vértices de la lista de formas
dialog():add_image(visimg):show() -- Mostrar visualmente la imagen de las diferencias