Aller au contenu principal

cv - Comparer des images (:cv_compare_image)

Déclaration

shapes, visualized = image:cv_compare_image(other_image[, options])

Paramètres

  • other_image Objet image à comparer

  • options Table

    Champs d’options
    {
    should_visualize = false | true, -- facultatif, produire une visualisation, par défaut false
    approx_epsilon = integer_value, -- facultatif, pourcentage du périmètre d’approximation du contour, simplifie les contours complexes, par défaut 2
    }

Valeur de retour

  • shapes Table : liste des formes correspondant aux différences entre les deux images

    Structure des formes
    {
    { -- forme 1
    { -- sommet 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- sommet 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    ...
    },
    { -- forme 2
    { -- sommet 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- sommet 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    ...
    },
    ...
    }
  • visualized Objet image ; lorsque options.should_visualize vaut true, il s’agit de l’image de visualisation

Description

Compare deux images pour trouver leurs différences et retourne les listes de sommets des régions différentes. Les deux images doivent avoir les mêmes dimensions.

Exemple

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')
-- retourne une liste de formes, pouvant en contenir plusieurs
local shapes, visimg = img1:cv_compare_image(img2)
nLog(shapes) -- afficher les sommets des formes
dialog():add_image(visimg):show() -- afficher l’image des différences