Zum Hauptinhalt springen

cv – Merkmale mehrerer Bildvorlagen erkennen (:cv_detect_templates)

Deklaration

ergebnisse, visualisiertes_bild = bild:cv_detect_templates(Bildvorlagensammlung_und_Optionen)

Parameter

  • Bildvorlagensammlung und Optionen
    Optional, Tabelle; jedes Element der Tabelle in Reihenfolge ist ein Bildobjekt, benannte Felder sind Optionen

    Optionsfelder
    {
    should_visualize = false | true, -- optional, visuelle Ausgabe, standardmäßig false
    detector = 0 | 1 | 2, -- optional, Merkmaldetektor: 0: ORB, 1: SIFT, 2: SURF; standardmäßig 0: ORB
    score_thresh = number_value, -- optional, Schwellenwert der Merkmalsübereinstimmung (Prozent), standardmäßig 90
    }

Rückgabewerte

  • Ergebnissammlung
    Tabelle mit den Informationen zu den im Bild erkannten Vorlagenmerkmalen

    Struktur der Ergebnissammlung
    {
    { -- Ergebnis 1
    { -- Scheitelpunkt 1 von Ergebnis 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- Scheitelpunkt 2 von Ergebnis 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- Scheitelpunkt 3 von Ergebnis 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- Scheitelpunkt 4 von Ergebnis 1
    ["y"] = number_value,
    ["x"] = number_value,
    },
    confidence = number_value, -- kombinierter Konfidenzwert aller Merkmale von Ergebnis 1
    angle = number_value, -- Drehwinkel
    index = number_value, -- Index der passenden Vorlage in der Bildvorlagensammlung
    },
    { -- Ergebnis 2
    { -- Scheitelpunkt 1 von Ergebnis 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- Scheitelpunkt 2 von Ergebnis 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- Scheitelpunkt 3 von Ergebnis 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    { -- Scheitelpunkt 4 von Ergebnis 2
    ["y"] = number_value,
    ["x"] = number_value,
    },
    confidence = number_value, -- kombinierter Konfidenzwert aller Merkmale von Ergebnis 2
    angle = number_value, -- Drehwinkel
    index = number_value, -- Index der passenden Vorlage in der Bildvorlagensammlung
    },
    ...
    }
  • Visualisiertes Bild
    Bildobjekt; wenn options.should_visualize true ist, enthält dieser Rückgabewert das visualisierte Bildobjekt

Beschreibung

Erkennt Bildmerkmale der Bildvorlagensammlung in einem Bild; dies kann zur Merkmalerkennung nach Verformung oder Drehung verwendet werden.
Für jede kleine Bildvorlage wird nur das beste Ergebnis mit einem Wert über score_thresh gefunden.
Unterstützt ab Version 20250625

Hinweis

Der score_thresh-Parameter unterscheidet sich von confidence im Rückgabewert.
score_thresh filtert Merkmale; confidence ist der kombinierte Konfidenzwert aller Merkmale der Vorlage.

Beispiel

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, -- visuelle Ausgabe; bei true ist der zweite Rückgabewert ein Bild
})

nLog(results) -- Erkennungsergebnisse ausgeben
dialog():add_image(visimg):show() -- Erkennungsergebnis visualisieren