Pular para o conteúdo principal

cv - Detecção de características com vários modelos de imagem (:cv_detect_templates)

Declaração

conjunto_de_resultados, imagem_visualizada = imagem:cv_detect_templates(conjunto_de_modelos_de_imagem_pequena_e_opcoes)

Parâmetros

  • conjunto_de_modelos_de_imagem_pequena_e_opcoes
    Tabela opcional; cada elemento sequencial é um objeto de imagem e os campos nomeados são opções

    Campos das opções
    {
    should_visualize = false | true, -- campo opcional; produzir saída visualizada. O padrão é false
    detector = 0 | 1 | 2, -- campo opcional; detector de características: 0: ORB, 1: SIFT, 2: SURF; padrão 0: ORB
    score_thresh = number_value, -- campo opcional; limiar de pontuação de correspondência de características em escala de 100. O padrão é 90
    }

Valores retornados

  • conjunto_de_resultados
    Tabela com as informações das características dos modelos detectados na imagem

    Estrutura do conjunto de resultados detectados
    {
    { -- resultado 1
    { -- vértice 1 do resultado 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- vértice 2 do resultado 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- vértice 3 do resultado 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- vértice 4 do resultado 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    confidence = number_value, -- confiança combinada de todos os pontos característicos do resultado 1
    angle = number_value, -- ângulo de rotação
    index = number_value, -- índice do modelo correspondente no conjunto de modelos de imagem pequena
    },
    { -- resultado 2
    { -- vértice 1 do resultado 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- vértice 2 do resultado 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- vértice 3 do resultado 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- vértice 4 do resultado 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    confidence = number_value, -- confiança combinada de todos os pontos característicos do resultado 2
    angle = number_value, -- ângulo de rotação
    index = number_value, -- índice do modelo correspondente no conjunto de modelos de imagem pequena
    },
    ...
    }
  • imagem_visualizada
    Objeto de imagem; quando options.should_visualize é true, este valor retornado é uma imagem visualizada

Descrição

Detecta na imagem as características dos modelos do conjunto de imagens pequenas; pode ser usado para detectar características após deformação ou rotação.
Cada modelo de imagem pequena terá apenas o melhor resultado com pontuação superior a score_thresh.
Compatível a partir da versão 20250625

Observação

score_thresh nos parâmetros é diferente de confidence no valor retornado.
score_thresh filtra os pontos característicos, enquanto confidence é a confiança combinada de todos os pontos característicos do modelo.

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

local results, visimg = screen.image():cv_detect_templates({
img1, img2;
score_thresh = 90,
detector = 1, -- SIFT
should_visualize = true, -- produzir saída visualizada; quando true, o segundo valor retornado é uma imagem
})

nLog(results) -- exibir as informações dos resultados detectados
dialog():add_image(visimg):show() -- exibir visualmente a imagem dos resultados detectados