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