v3.6.3

v3.6.3 schakelt TensorFlow op de OpenMV 3 / F7 in, voegt ondersteuning toe voor uint8/int8/float32-modellen, schakelt de MLX90640/AMG8833 thermische sensoren over op hardware-I2C, voegt afbeeldingsverschil-histogrammen en lenscorrectie-offset toe, en herwerkt de readout-besturing. De image hint-constanten zijn hernoemd en de schaling van draw_image() is gewijzigd — lees de breaking changes hieronder.

Hoogtepunten

  • TensorFlow op OpenMV 3 / F7tf ingeschakeld op de F7-gebaseerde camera’s, met ondersteuning voor uint8/int8/float32-modellen.

  • Thermische sensoren — MLX90640 en AMG8833 overgeschakeld op hardware-I2C met een nieuwe MLX90640-driver.

  • Beeldverwerking — ondersteuning voor afbeeldingsverschillen in get_histogram() en offsetcorrectie voor lens_corr().

  • draw_image — alfapaletten in grijswaardenmodus en herwerkte readout-besturing.

  • Breaking: de image hint-constanten zijn hernoemd en de negatieve schaling van draw_image() is verwijderd — zie de breaking changes.

Nieuwe functies

  • TensorFlowtf ingeschakeld op OpenMV 3 / F7 en TensorFlow bijgewerkt voor ondersteuning van uint8- / int8- / float32-modellen.

  • get_histogram() — mogelijkheid voor afbeeldingsverschillen toegevoegd.

  • lens_corr() — offsetcorrectie toegevoegd.

  • draw_image() — alfapaletten werken nu in (niet-bilineaire) grijswaardenmodus, met bilineair geïnterpoleerde alfapaletten en afbeeldingscentrering; nieuwe readout-besturingscode.

Overige wijzigingen en verbeteringen

  • De MLX90640 en AMG8833 overgeschakeld op hardware-I2C (nieuwe MLX90640-driver, board-config HW-I2C voor externe sensoren, hogere MLX-readout-retry), I2C fast-mode-plus ingeschakeld op camera’s die het ondersteunen, cambus read/write-bytes met I2C-timings toegevoegd, en het toepassen van alfa overgeslagen wanneer deze 0 is voor de prestaties.

Bugfixes

Camera en beeldverwerking:

  • Rotatiecorrectie gerepareerd en versneld, de Bayer-naar-YCbCr-bug bij de linkerrand, en een randfix toegevoegd aan bayer_to_y() / bayer_to_binary().

Tooling:

  • Python 2/3-fouten en de aanroepvolgorde van get_statistics() gerepareerd.

Breaking API-wijzigingen

Voor de gebruiker zichtbare API-breaks tussen v3.6.2 en v3.6.3. Scope: Python C-modules in modules/ en Python-bibliotheken in scripts/libraries/.

Elke wijziging is gemarkeerd met de impact ervan:

  • minor — beperkte API; treft alleen scripts die deze gebruikten.

  • behavior — dezelfde API, andere resultaten; controleer afgestelde scripts opnieuw.

Wijzigingen zijn in die volgorde op impact gegroepeerd. Als je alleen je code wilt porten, ga dan naar de migratiechecklist aan het eind. Elke commit-hash linkt naar de diff ervan op GitHub.

image hint-constanten hernoemd (minor)

De tekenhint-constanten van image zijn hernoemd: image.INTERPOLATE_BILINEARimage.IMAGE_HINT_BILINEAR en image.IMAGE_CENTERimage.IMAGE_HINT_CENTER. Scripts die de oude constantnamen aan draw_image() doorgeven, moeten de nieuwe namen gebruiken. (Deze worden in v3.7.0 opnieuw hernoemd naar image.BILINEAR / image.CENTER.)

Commits: 8f8872537

draw_image() negatieve schaling verwijderd (behavior)

image.draw_image() ondersteunt geen negatieve schaling meer, en het textuur-samplepunt is verplaatst naar het midden van de pixel. Scripts die op negatieve schaling vertrouwden om een afbeelding tijdens het tekenen te spiegelen, moeten deze op een andere manier spiegelen, en de uitvoer kan tot een halve pixel verschuiven ten opzichte van voorheen.

Commits: 7e83dbb92

Migratiechecklist

Hernoem image.INTERPOLATE_BILINEAR / image.IMAGE_CENTER naar image.IMAGE_HINT_BILINEAR / image.IMAGE_HINT_CENTER (de hernoeming van de hint-constanten), en vervang elke negatieve schaling van draw_image() door een expliciete spiegeling (de draw_image-schalingswijziging). Alle overige scripts draaien ongewijzigd.