v1.1.0 - 2026.08.07
Erstes funktionsfähiges Release von LumiScan Template Finder. Frühere Versionen registrierten zwar die Data-Layer-Knoten der Anwendung, lieferten aber ein festes Platzhalterergebnis; nichts aus dieser Liste war vorher nutzbar.
Hinzugefügt:
-
Template Matching.
<module>/find-template/executedurchsucht ein Kamerabild nach einer gespeicherten Vorlage und meldet jedes gefundene Vorkommen mit einer orientierten Bounding Box, einer Konfidenz sowie der Skalierung und Drehung, bei der der Treffer gefunden wurde. Die Suche deckt einen konfigurierbaren Bereich von Skalierungen und Drehungen ab. Siehe Eine Vorlage finden. -
Erstellen einer Vorlage aus einem Live-Bild.
system/create-template/executeschneidet eine rechteckige Region aus einem Kamerabild aus und speichert sie als Vorlagen-PNG, sodass eine Vorlage direkt von der echten Kamera erzeugt werden kann, ohne Dateien zu übertragen. Die Operation gilt für die gesamte Anwendung: Die geschriebene Vorlage ist sofort für jedes Modul nutzbar. Siehe Eine Vorlage erstellen. -
Ergebnisse als FlatBuffer.
<module>/find-template/output/resultenthält die Treffer zusammen mit dem Vorlagennamen, dem Matching-Modus und dem Schwellwert, die sie erzeugt haben, sodass ein gespeichertes Ergebnis später interpretiert werden kann, ohne zu wissen, wie die Suche konfiguriert war. -
Mehrere Module. Jede Konfiguration liegt unter
<module-id>/mit eigenen Einstellungen und Ergebnissen; Module können im laufenden Betrieb übersystem/create-moduleundsystem/remove-moduleangelegt und entfernt werden.system/save-current-moduleserhält den Satz über einen Neustart hinweg,system/save-module-inputsdie Einstellungen eines Moduls. Eine Lizenz gilt für zehn Module; das elfte belegt eine zweite Lizenz desselben Schlüssels, und ein Modul wird mit Status-11abgelehnt, wenn keine Lizenz es abdeckt. Siehe Modulverwaltung. -
Ein Vorlagenverzeichnis für die gesamte Anwendung.
system/template-dirbenennt das Verzeichnis, aus dem jedes Modul Vorlagen liest und in dascreate-templatesie schreibt; eine Vorlage muss also nur einmal erstellt werden. Ändern Sie es mitsystem/set-template-dir; die Wahl wird gespeichert und beim nächsten Start wiederhergestellt. Ein nicht vorhandenes Verzeichnis wird abgelehnt statt angelegt; ein Tippfehler wird also gemeldet, statt stillschweigend einen leeren Ordner zu erzeugen. -
Eine Liste der verfügbaren Vorlagen.
system/templatesmeldet, was in diesem Verzeichnis liegt, ohne die Erweiterung.png, sodass ein Eintrag direkt in<module>/find-template/input/template-nameübernommen werden kann, statt einen Dateinamen zu raten. Die Liste wird beim Start, bei einem Wechsel des Verzeichnisses und beim Speichern einer Vorlage durchcreate-templateaktualisiert. Siehe Speicherung der Vorlagen. -
Nur einen Teil des Bilds durchsuchen.
<module>/find-template/input/crop/beschränkt die Suche auf ein Rechteck. Eine Breite oder Höhe von null reicht bis zum entsprechenden Rand; die Standardregion mit lauter Nullen durchsucht also das ganze Bild. Eine Region, die über einen Rand hinausreicht, wird abgelehnt und nennt die Eingabe und die verletzte Grenze, statt passend beschnitten zu werden. -
Wahl des Koordinatensystems, in dem die Positionen gemeldet werden.
<module>/find-template/input/result-coordinateistIMAGE(Standard) für Positionen im ganzen Bild oderCROPfür Positionen innerhalb der durchsuchten Region. -
Der Suchbereich ist gruppiert. Die Eingaben für Skalierung, Drehung und Vorverarbeitung liegen in eigenen Ordnern -
<module>/find-template/input/scale/,.../rotation/und.../preprocess/-, sodass ein Data-Layer-Browser drei kleine Gruppen statt einer flachen Liste von vierzehn Werten zeigt. -
Statusmeldung bei jeder Operation. Jede Operation meldet
output/status-codeundoutput/status-text. Der Statuscode ist vorzeichenbehaftet, und das Vorzeichen allein sagt, ob die Operation erfolgreich war: negativ ist ein Fehler, null bedeutet, dass sie noch nicht ausgeführt wurde. Siehe Ausführungsstatus. -
Speicherung der Vorlagen in der aktiven Solution. Vorlagen sind PNG-Dateien im Konfigurationsverzeichnis der Anwendung; sie werden also beim Export der Solution mitgenommen und mit ihr auf einem anderen Gerät wiederhergestellt. Das Verzeichnis wird beim ersten Start angelegt, sodass es auf einer neuen Installation einen Ort zum Hochladen gibt. Siehe Speicherung der Vorlagen.
-
Ein konfigurierbarer Log-Level.
system/logLevelinlumiscan-template-finder.jsonlegt fest, wie viel die Anwendung protokolliert -TRACE,DEBUG,INFO,WARN,ERROR,FATALoderOFF-, im selben Block, den die anderen LumiScan-Anwendungen verwenden, sodassTRACEfür einen Support-Bericht ein- und danach wieder ausgeschaltet werden kann. Der Wert wird beim Start gelesen; ein fehlender oder falsch geschriebener Wert lässt die Anwendung so gesprächig wie bisher. Siehe Speicherung der Vorlagen.
Hinweise:
-
Jede Methode löscht ihre eigenen Ausgabeknoten, sobald sie beginnt, noch vor allem, was fehlschlagen kann; ein fehlgeschlagener Durchlauf hinterlässt sie also leer, statt das Ergebnis eines früheren Durchlaufs zu behalten. Status
-1(belegt) ist die Ausnahme: Dieser Aufruf wurde nie ausgeführt und lässt die Ausgaben der laufenden Operation unberührt. Die Ausgaben gehören daher zum Durchlauf, der gerade beginnt - lesen Sie sie, bevor Sie den nächsten auslösen. Siehe Eine Methode ausführen. -
system/template-dirundsystem/templatessind schreibgeschützt. Das Verzeichnis wird nur übersystem/set-template-dirgeändert, sodass die Liste nie von dem Verzeichnis abweichen kann, aus dem sie stammt. -
Nur Dateien, die auf
.pngin Kleinbuchstaben enden, werden aufsystem/templatesaufgeführt; geben Siecreate-templatealso einen Namen in Kleinbuchstaben. Eine auf anderem Weg in das Verzeichnis kopierte Datei ist sofort nutzbar, erscheint aber erst in der Liste, wenn diese aktualisiert wird. -
Doppelte Treffer werden entfernt, bevor das Ergebnis veröffentlicht wird. Die Suche über einen Bereich von Skalierungen oder Drehungen findet dasselbe Teil einmal pro Schritt; ohne diesen Schritt würde ein einzelnes Teil viele Male gemeldet.
-
Die Treffer-Konfidenz wird für jeden Skalierungs-/Drehungsschritt neu skaliert; sie ist also kein absolutes Maß der Ähnlichkeit, und der Schwellwert gilt pro Schritt statt global. Das spielt nur eine Rolle, wenn ein Bereich durchsucht wird; erklärt wird es in Die Suche abstimmen.
-
Verzeichnis- und Dateinamen werden immer relativ zum Konfigurationsverzeichnis interpretiert. Absolute Pfade und Pfade, die aus diesem Verzeichnis hinausführen, werden abgelehnt.