v1.4.0

v1.4.0 führt zwei neue Tools für maschinelles Sehen ein – den Threshold Editor und den Keypoints Editor – neben einer umfassenden Neuorganisation der gebündelten Beispielskripte und der gebündelten OpenMV-Firmware 2.1.0. Es bleibt bei der Qt-Creator-4.0.2-Basis. Dieses Release ändert mehrere Tastenkombinationen und benennt einige Beispielskripte um oder entfernt sie; siehe Breaking Changes.

Highlights

  • Threshold Editor unter Tools > Machine Vision hinzugefügt: lädt ein Bild aus dem Framebuffer oder einer Datei, zeigt eine Live-Binärvorschau mit einstellbaren Graustufen- oder LAB-Min/Max-Schiebereglern sowie Invertieren und gibt das Schwellenwert-Tupel zur Verwendung in Skripten aus.

  • Keypoints Editor unter Tools > Machine Vision hinzugefügt: zeigt ORB/LBP-Schlüsselpunkte visuell über dem Quellbild an und ermöglicht das Auswählen und Löschen von Ausreißer-Schlüsselpunkten, das Wechseln von Oktaven sowie das Bearbeiten oder Zusammenführen von Schlüsselpunktdateien.

  • Neu organisierte Beispiele: neue Board-Control-Arduino-I2C/SPI-Slave-Beispiele, ein neues ORB-Schlüsselpunkte-Beispiel, QR-Code-Linsenkorrektur-Beispiele sowie eine überarbeitete Color-Tracking-Suite.

  • Gebündelte OpenMV-Firmware auf 2.1.0 aktualisiert, wobei das STM32F7-Board-Target von OMV7 auf OMV3 geändert wurde.

  • Tastenkombinationen hinzugefügt: Ctrl+E für Verbinden/Trennen und Ctrl+R für Stop (verschoben von Ctrl+T).

Neue Funktionen

  • Threshold Editor (Tools > Machine Vision) lädt ein Bild aus dem Framebuffer oder einer Datei und zeigt eine Live-Binärvorschau mit einstellbaren Graustufen- oder LAB-Min/Max-Schiebereglern sowie Invertieren an und gibt das Schwellenwert-Tupel zur Verwendung in Skripten aus (fd100a5c3).

  • Keypoints Editor (Tools > Machine Vision) zeigt ORB/LBP-Schlüsselpunkte visuell über dem Quellbild an, ermöglicht das Auswählen und Löschen von Ausreißer-Schlüsselpunkten mit der Maus und der Entf-Taste, das Wechseln von Oktaven über einen Schieberegler sowie das Bearbeiten oder Zusammenführen von Schlüsselpunktdateien (4549227fc, f6ee10595, 0e046f51a).

  • Nach einer Prüfung auf aktuelle Firmware bietet die IDE nun an, die OpenMV Cam auf die gebündelte Release-Firmware zurückzusetzen und dabei optional das interne Dateisystem zu löschen (e7803d33c).

  • Beispielskripte neu organisiert: neue Board-Control-Arduino-I2C/SPI-Slave-Beispiele, ein neues ORB-Schlüsselpunkte-Beispiel (keypoints.py/keypoints_save.py), das freak.py ersetzt, QR-Code-Linsenkorrektur-/Zoom-Beispiele sowie eine überarbeitete Color-Tracking-Suite (automatisches Graustufen-/RGB565-Farbtracking, IR-Beacon-Tracking, Einzel-/Mehrfarben-Blob- und Farbcode-Tracking, Bildhistogramm-/Statistikinformationen, Linienverfolgung) (e7803d33c).

Weitere Änderungen und Verbesserungen

  • Der Keypoints Editor sichert die ursprünglichen Schlüsselpunkt- und Bilddateien nun (.bak), bevor er sie beim Speichern überschreibt (fd100a5c3).

  • Verbinden und Trennen sind nun an Ctrl+E gebunden, und Stop (Skript anhalten) wurde von Ctrl+T auf Ctrl+R verschoben (e7803d33c).

  • Die Netzwerk-Endpunkte der IDE wurden auf die neuen openmv.io-Hosts umgestellt: die Foren auf forums.openmv.io und die Download-Seite auf openmv.io/pages/download (e7803d33c) sowie die Downloads für Versionsprüfung, Ressourcen-Version und Ressourcen-Zip auf upload.openmv.io (e899abcca).

Fehlerbehebungen

  • Das Firmware-Flashen über DFU (DfuSeCommand unter Windows, pydfu auf anderen Plattformen) versucht es nun bis zu 10-mal erneut, anstatt beim ersten Versuch fehlzuschlagen, wodurch Bootloader-/DFU-Aktualisierungen zuverlässiger werden (e7803d33c).

  • Das Speichern eines unbenannten/neuen Skripts öffnet nun korrekt Speichern unter, und nach dem Speichern wird der Anzeigename des Editors gelöscht, sodass der Titel nicht mehr den temporären Platzhalternamen _$ behält (e7803d33c).

  • Eine Plausibilitätsprüfung wurde hinzugefügt, die unplausible Firmware-Versionsnummern (außerhalb von 0..100) ablehnt und sich erneut verbindet, anstatt fortzufahren (2320ab299).

  • Die Eingabeaufforderung zur Laufwerkszuordnung wurde korrigiert, sodass stille Wiederverbindungen automatisch das erste Laufwerk auswählen, anstatt die Auswahl fälschlicherweise zu unterdrücken (4fda9a7d6, e7803d33c).

  • Das Rendern von binären (1bpp) Framebuffer-Bildern wurde korrigiert, indem jede Zeile auf 32 Bit statt auf 8 Bit ausgerichtet wird, sodass von der OpenMV Cam gestreamte Binärbilder korrekt angezeigt werden, statt mit verstümmelten/fehlausgerichteten Zeilen (e7803d33c).

Plattform- und Tool-Unterstützung

  • Qt-Creator-Basis: 4.0.2.

  • Gebündelte OpenMV-Firmware: von 2.0.0 auf 2.1.0 aktualisiert (f6ee10595).

  • STM32F7-Board-Target: von OMV7 (STM32F769) auf OMV3 (STM32F765/512) geändert, mit neuen Bootloader-/Firmware-Binaries für OMV2 und OMV3 (f6ee10595).

  • Linux-udev-Regeln: Die Regeln für OpenMV Cam und DFU-Gerät setzen nun MTP_NO_PROBE=1, um zu verhindern, dass der Desktop das Gerät als MTP-Gerät prüft (e7803d33c).

Breaking Changes

Für Benutzer sichtbare Workflow-Änderungen zwischen v1.3.x und v1.4.0:

  • Tastenkombinationen geändert: Stop (Skript anhalten) wurde von Ctrl+T auf Ctrl+R verschoben, und Verbinden/Trennen ist nun an Ctrl+E gebunden.

  • Beispielskripte umbenannt/entfernt: Mehrere Color-Tracking-Beispiele wurden umbenannt oder entfernt (z. B. blob_detection.py, marker_tracking.py), und das Feature-Detection-Beispiel freak.py wurde entfernt und durch keypoints.py ersetzt.