Aller au contenu principal

cv - Détecter les caractéristiques de plusieurs modèles (:cv_detect_templates)

Déclaration

results, visualized = image:cv_detect_templates(templates_with_options)

Paramètres

  • templates_with_options Table facultative : chaque élément séquentiel est un objet image et les champs nommés sont des options

    Champs d’options
    {
    should_visualize = false | true, -- facultatif, produire une visualisation, par défaut false
    detector = 0 | 1 | 2, -- facultatif, détecteur de caractéristiques, 0: ORB, 1: SIFT, 2: SURF, par défaut 0: ORB
    score_thresh = number_value, -- facultatif, seuil de score en pourcentage pour la correspondance, par défaut 90
    }

Valeur de retour

  • results Table : collection des caractéristiques de modèles détectées dans l’image

    Structure des résultats
    {
    { -- résultat 1
    { -- sommet 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- sommet 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- sommet 3
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- sommet 4
    ["y"] = number_value,
    ["x"] = number_value,
    },
    confidence = number_value, -- confiance agrégée de tous les points caractéristiques
    angle = number_value, -- angle de rotation
    index = number_value, -- index du modèle correspondant dans la collection d’entrée
    },
    { -- résultat 2
    { -- sommet 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- sommet 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- sommet 3
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- sommet 4
    ["y"] = number_value,
    ["x"] = number_value,
    },
    confidence = number_value,
    angle = number_value,
    index = number_value,
    },
    ...
    }
  • visualized Objet image ; lorsque options.should_visualize vaut true, il s’agit de l’image de visualisation

Description

Détecte dans l’image les caractéristiques d’un ensemble de petits modèles ; cela convient aux modèles déformés ou pivotés. Pour chaque modèle, seul le meilleur résultat dont le score dépasse score_thresh est retourné. Pris en charge à partir de la version 20250625

Remarque

score_thresh (entrée) et confidence (sortie) sont distincts. score_thresh filtre les points caractéristiques ; confidence est la confiance agrégée de tous les points du modèle.

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')

local results, visimg = screen.image():cv_detect_templates({
img1, img2;
score_thresh = 90,
detector = 1, -- SIFT
should_visualize = true, -- lorsque true, la deuxième valeur retournée est une image
})

nLog(results)
dialog():add_image(visimg):show()