In Übung 2 von Letztes Mal haben wir die Komponenten des "Kontroll" -Systems geübt. Dieses Mal werden wir die Komponenten des Videoanalysesystems mit dem Thema "Lesen von Barcode / QR-Code" erläutern.
Erstellen Sie eine neue App wie in den vorherigen Übungen.
Wählen Sie "Medien" aus dem Menü unten links auf der Registerkarte "Konfiguration", um ein Element hinzuzufügen, das als Videoeingang verwendet werden soll. In "Kategorie" Standard (USB) URL (Netzwerkdatei) Browser Desktop Benutzerdefiniert Kann ausgewählt werden und unter "Typ" Video Stimme Video und Audio Kann ausgewählt werden. In dieser Übung verwenden wir nur das Video (kein Audio) der am Laptop montierten Kamera oder der über USB angeschlossenen Kamera und stellen sie wie im folgenden Bildschirm gezeigt ein. Die Registerkarte Einstellungen für dieses Element bietet eine Vielzahl von Optionen, darunter: In dieser Übung erhöhen wir die "maximale Bildrate" von 2 auf 5.
Sobald Sie die Videoquelle hinzugefügt haben, ist es Zeit, die Videoanalysekomponenten hinzuzufügen. Wählen Sie "Neu" aus dem Menü unten links auf dem Bildschirm und fügen Sie Folgendes hinzu. Stellen Sie auf der Registerkarte "Einstellungen" der Videoanalyse Folgendes ein. Mit anderen Worten Eingabebild: Wählen Sie die Quelle des im vorherigen Schritt hinzugefügten Videos aus Grenzwertanalysezyklus: Aus Lieferzyklus begrenzen: Aus Analyseergebnisse speichern: Ein Zu.
Wählen Sie auf der Registerkarte Konfiguration die Registerkarte Code. In dieser Übung wird ein Modul namens "pyzbar" zum Lesen des Barcodes und des QR-Codes verwendet. Verwenden Sie daher zuerst das Installationsskript "Install.ps1". python -m pip install pyzbar So installieren Sie dieses Modul. Lassen Sie uns überprüfen, ob das Installationsskript ordnungsgemäß funktioniert. Nachdem Sie oben auf dem Bildschirm auf die Schaltfläche "Speichern" geklickt haben, wählen Sie im Menü unten links auf dem Bildschirm die Option "Installationsskript ausführen". Wie unten gezeigt, wird das Dialogfeld zur Ausführung des Installationsskripts angezeigt. Wenn unten links im Dialogfeld "Ausführung abgeschlossen" angezeigt wird, ist dies in Ordnung. Klicken Sie auf die Schaltfläche "Schließen". Der Python-Code für die Videoanalyse steht am Anfang.
python
from pyzbar.pyzbar import decode
import cv2
import numpy as np
Importieren Sie das vom Installationsskript installierte Modul und das Modul, mit dem der erkannte Barcode gezeichnet wurde, mit einer Linie. Nun in der Videoanalyse die Funktion new_video_frame(self, video_frame, time_sec) Das zu analysierende Bild wird der Python-Seite mitgeteilt, der Analyseprozess wird in dieser Funktion ausgeführt und das Ergebnis wird der Plattformseite mitgeteilt. Hier wird das Eingabebild im Argument video_frame als numpy.ndarray-Typ gespeichert, und die seit dem Start der Anwendung verstrichene Zeit (Sekunden) wird im float-Typ in time_sec gespeichert. In Anbetracht des Falls, in dem mehrere Barcodes im Bild enthalten sind, wird diese Funktion wie folgt implementiert.
python
def new_video_frame(self, video_frame, time_sec):
data = decode(video_frame)
for c in data:
self._sys.set_value({'value': [c.data.decode('utf-8'), c.type]})
points = c.polygon
pts = np.array(points, np.int32)
pts = pts.reshape((-1, 1, 2))
cv2.polylines(video_frame, [pts], True, (0, 255, 0), 2)
self._sys.set_video_frame(video_frame, time_sec)
Die Funktion set_value () dient zum Benachrichtigen der Plattformseite über neue Daten, wie in Übung 1 gezeigt, und diese App ordnet den Barcode-Wert und den Barcode-Typ für jeden erkannten Barcode an. Benachrichtigen Sie, was Sie getan haben. Die Funktion ** set_video_frame () ** wird verwendet, um die Plattform über das Bild über das Ergebnis der Videoanalyse zu informieren.
Stellen Sie auf der Registerkarte "Anzeigeelemente" auf der Registerkarte "Verwendungsseite" Folgendes ein. Auf der Registerkarte "Layout" befinden sich zwei Anzeigeelemente, die als Beispiel wie folgt bearbeitet werden. Zunächst kann das "Bild nach der Analyse", das Bestandteil der Videoanalyse ist, als Standardausdruckformat für "Bild" beibehalten werden, und die Größe und Anordnung des Rechtecks werden bearbeitet. Wählen Sie als Nächstes unter "Verlauf" die Option "Arrangement-Verlaufstabelle" als Ausdrucksformat aus und bearbeiten Sie den Titel, die Überschrift usw. in den Optionseinstellungen auf der rechten Seite des Bildschirms.
Klicken Sie oben auf dem Bildschirm auf die Schaltfläche "Speichern" und starten Sie dann die App. Wenn die Kamera den Barcode oder QR-Code liest, wird der Inhalt auf dem Bildschirm "Layout" angezeigt. Wenn die Kamera unscharf ist und nicht richtig gelesen werden kann, verwenden Sie die in Windows 10 installierte Standardanwendung "Kamera", um Anpassungen vorzunehmen.
Wie erhalten Sie übrigens die Anzahl der vertikalen und horizontalen Pixel und die Bildrate des zu analysierenden Videos? Bei der Programmierung von Komponenten in Limotte werden diese Informationen an das Argument opt der Funktion \ _ \ _ init \ _ \ _ () übergeben. Zum Beispiel am Anfang der Funktion new_video_frame () print(self._opt) Wenn Sie es ausführen, wird Folgendes im Fenster "Konsole" der Registerkarte "Code" auf der Registerkarte "Konfiguration" angezeigt.
{'__video__': {'width': 640, 'height': 480, 'frame_rate': 5.0, 'scale': 100.0, 'auto_scale': False, 'scaled_width': 640, 'scaled_height': 480, 'rotation': 0}, '__audio__': None, '__guid__': None, '__remotte__': None}
Sie können sehen, dass der Wert des Schlüssels '\ _ \ _ video \ _ \ _' Attribute enthält, die sich auf die Quelle beziehen.
Achtung! Als Plattformspezifikation werden Video- und Audioanalysekomponenten nicht auf der Konsole angezeigt, wenn print () in der Funktion \ _ \ _ init \ _ \ _ () ausgeführt wird. </ font>
In dieser Übung haben wir die Komponenten des "Videoanalyse" -Systems kennengelernt. Die Funktion new_video_frame () gibt ein Bild von der Plattform aus, analysiert es und setzt_value () und [set_video_frame ()](https :: //www.remotte.jp/ja/user_guide/program/functions) Ich möchte lernen, die Plattformseite über eine Analyse über das Analyseergebnis zu informieren. In der nächsten Übung werden wir uns mit Sprachanalyseanwendungen befassen und einen "Pegelmesser" für die vom Mikrofon erfasste Stimme erstellen.
Recommended Posts