Saltar al contenido principal

cv - Detección de características con varias plantillas de imagen (:cv_detect_templates)

Declaración

conjunto_de_resultados, imagen_visualizada = imagen:cv_detect_templates(conjunto_de_plantillas_de_imagen_y_opciones)

Parámetros

  • conjunto_de_plantillas_de_imagen_y_opciones
    Parámetro opcional, tabla. Cada elemento ordenado de la tabla es un objeto de imagen; los campos con nombre son opciones.

    Campos de opciones
    {
    should_visualize = false | true, -- Campo opcional: si se muestra la salida; predeterminado false
    detector = 0 | 1 | 2, -- Campo opcional: detector de características; 0: ORB, 1: SIFT, 2: SURF; predeterminado 0: ORB
    score_thresh = number_value, -- Campo opcional: umbral de puntuación de coincidencia de puntos de características en escala de 100; predeterminado 90
    }

Valor de retorno

  • conjunto_de_resultados
    Tabla con la información de las características de las plantillas detectadas en la imagen.

    Estructura del conjunto de resultados
    {
    { -- Resultado 1
    { -- Vértice 1 del resultado 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- Vértice 2 del resultado 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- Vértice 3 del resultado 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- Vértice 4 del resultado 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    confidence = number_value, -- Confianza combinada de todos los puntos de características del resultado 1
    angle = number_value, -- Ángulo de rotación
    index = number_value, -- Índice de la plantilla coincidente en el conjunto de plantillas pequeñas
    },
    { -- Resultado 2
    { -- Vértice 1 del resultado 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- Vértice 2 del resultado 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- Vértice 3 del resultado 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- Vértice 4 del resultado 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    confidence = number_value, -- Confianza combinada de todos los puntos de características del resultado 2
    angle = number_value, -- Ángulo de rotación
    index = number_value, -- Índice de la plantilla coincidente en el conjunto de plantillas pequeñas
    },
    ...
    }
  • imagen_visualizada
    Objeto de imagen. Cuando options.should_visualize es true, este valor de retorno contiene la visualización.

Descripción

Detecta en una imagen las características de las imágenes del conjunto de plantillas pequeñas; puede usarse para detectar características después de deformaciones o rotaciones. Cada plantilla pequeña solo coincide con el mejor resultado cuya puntuación supere score_thresh. Compatible desde la versión 20250625

Nota

score_thresh y confidence del valor de retorno son diferentes. score_thresh se usa para filtrar puntos de características, mientras que confidence es la confianza combinada de todos los puntos de características de la plantilla.

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

local results, visimg = screen.image():cv_detect_templates({
img1, img2;
score_thresh = 90,
detector = 1, -- SIFT
should_visualize = true, -- Si se muestra la salida; con true, el segundo valor de retorno es una imagen
})

nLog(results) -- Mostrar la información de los resultados de detección
dialog():add_image(visimg):show() -- Mostrar visualmente la imagen de los resultados de detección