v3.6.3¶
v3.6.3 aktiviert TensorFlow auf der OpenMV 3 / F7, ergänzt Unterstützung für uint8/int8/float32-Modelle, stellt die Thermosensoren MLX90640/AMG8833 auf Hardware-I2C um, fügt Bilddifferenz-Histogramme und einen Linsenkorrektur-Offset hinzu und überarbeitet die Readout-Steuerung. Die Hint-Konstanten von image wurden umbenannt und die Skalierung von draw_image() wurde geändert — lies die nachfolgenden inkompatiblen Änderungen.
Highlights¶
TensorFlow auf OpenMV 3 / F7 —
tfauf den F7-basierten Kameras aktiviert, mit Unterstützung für uint8/int8/float32-Modelle.Thermosensoren — MLX90640 und AMG8833 auf Hardware-I2C umgestellt, mit einem neuen MLX90640-Treiber.
Bildverarbeitung — Bilddifferenz-Unterstützung in
get_histogram()und Offset-Korrektur fürlens_corr().draw_image — Alpha-Paletten im Graustufenmodus und überarbeitete Readout-Steuerung.
Inkompatibel: die Hint-Konstanten von
imagewurden umbenannt und die negative Skalierung vondraw_image()wurde entfernt — siehe die inkompatiblen Änderungen.
Neue Funktionen¶
TensorFlow —
tfauf OpenMV 3 / F7 aktiviert und TensorFlow aktualisiert, um uint8- / int8- / float32-Modelle zu unterstützen.get_histogram()— Bilddifferenz-Fähigkeit hinzugefügt.lens_corr()— Offset-Korrektur hinzugefügt.draw_image()— Alpha-Paletten funktionieren nun im (nicht-bilinearen) Graustufenmodus, mit bilinear interpolierten Alpha-Paletten und Bildzentrierung; neuer Readout-Steuerungscode.
Weitere Änderungen und Verbesserungen¶
Die MLX90640 und AMG8833 wurden auf Hardware-I2C umgestellt (neuer MLX90640-Treiber, Board-Konfiguration für HW-I2C für externe Sensoren, höhere MLX-Readout-Wiederholung), I2C Fast-Mode-Plus wurde auf Kameras aktiviert, die es unterstützen, Cambus-Read/Write-Bytes mit I2C-Timings wurden hinzugefügt und das Anwenden von Alpha wurde aus Performance-Gründen übersprungen, wenn es 0 ist.
Fehlerbehebungen¶
Kamera und Bildverarbeitung:
Behoben und beschleunigt wurde die Rotationskorrektur, der Bayer-zu-YCbCr-Fehler an der linken Kante, und ein Kanten-Fix für
bayer_to_y()/bayer_to_binary()wurde hinzugefügt.
Werkzeuge:
Behoben wurden Python-2/3-Fehler und die Aufrufreihenfolge von
get_statistics().
Inkompatible API-Änderungen¶
Für Benutzer sichtbare API-Brüche zwischen v3.6.2 und v3.6.3. Umfang: Python-C-Module in modules/ und Python-Bibliotheken in scripts/libraries/.
Jede Änderung ist mit ihrer Auswirkung gekennzeichnet:
minor — eng begrenzte API; betrifft nur Skripte, die sie verwendet haben.
behavior — gleiche API, andere Ergebnisse; abgestimmte Skripte erneut prüfen.
Die Änderungen sind in dieser Reihenfolge nach Auswirkung gruppiert. Wenn du nur deinen Code portieren möchtest, springe zur Migrations-Checkliste am Ende. Jeder Commit-Hash verlinkt auf seinen Diff auf GitHub.
Hint-Konstanten von image umbenannt (minor)¶
Die Zeichen-Hint-Konstanten von image wurden umbenannt: image.INTERPOLATE_BILINEAR → image.IMAGE_HINT_BILINEAR und image.IMAGE_CENTER → image.IMAGE_HINT_CENTER. Skripte, die die alten Konstantennamen an draw_image() übergeben, müssen die neuen Namen verwenden. (Diese werden in v3.7.0 erneut zu image.BILINEAR / image.CENTER umbenannt.)
Commits: 8f8872537
Negative Skalierung von draw_image() entfernt (behavior)¶
image.draw_image() unterstützt keine negative Skalierung mehr, und der Textur-Abtastpunkt wurde in die Mitte des Pixels verschoben. Skripte, die sich auf negative Skalierung verlassen haben, um ein Bild beim Zeichnen zu spiegeln, müssen es auf andere Weise spiegeln, und die Ausgabe kann sich gegenüber zuvor um bis zu einem halben Pixel verschieben.
Commits: 7e83dbb92
Migrations-Checkliste¶
Benenne image.INTERPOLATE_BILINEAR / image.IMAGE_CENTER in image.IMAGE_HINT_BILINEAR / image.IMAGE_HINT_CENTER um (die Umbenennung der Hint-Konstanten) und ersetze jede negative Skalierung von draw_image() durch eine explizite Spiegelung (die draw_image-Skalierungsänderung). Alle anderen Skripte laufen unverändert.