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 / F7 —
tfingeschakeld 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 voorlens_corr().draw_image — alfapaletten in grijswaardenmodus en herwerkte readout-besturing.
Breaking: de
imagehint-constanten zijn hernoemd en de negatieve schaling vandraw_image()is verwijderd — zie de breaking changes.
Nieuwe functies¶
TensorFlow —
tfingeschakeld 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_BILINEAR → image.IMAGE_HINT_BILINEAR en image.IMAGE_CENTER → image.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.