v3.6.3

v3.6.3 aktiverar TensorFlow på OpenMV 3 / F7, lägger till stöd för uint8/int8/float32-modeller, byter de termiska sensorerna MLX90640/AMG8833 till hårdvaru-I2C, lägger till bilddiff-histogram och offset för linskorrigering samt omarbetar readout-styrningen. Hint-konstanterna i image döptes om och skalningen i draw_image() ändrades — läs de brytande ändringarna nedan.

Höjdpunkter

  • TensorFlow på OpenMV 3 / F7tf aktiverat på de F7-baserade kamerorna, med stöd för uint8/int8/float32-modeller.

  • Termiska sensorer — MLX90640 och AMG8833 bytte till hårdvaru-I2C med en ny MLX90640-drivrutin.

  • Bildbehandling — stöd för bilddiff i get_histogram() och offsetkorrigering för lens_corr().

  • draw_image — alfapaletter i gråskaleläge och omarbetad readout-styrning.

  • Brytande: hint-konstanterna i image döptes om och negativ skalning i draw_image() togs bort — se de brytande ändringarna.

Nya funktioner

  • TensorFlow — aktiverade tf på OpenMV 3 / F7 och uppdaterade TensorFlow för att stödja uint8 / int8 / float32-modeller.

  • get_histogram() — lade till bilddiff-kapacitet.

  • lens_corr() — lade till offsetkorrigering.

  • draw_image() — alfapaletter fungerar nu i (icke-bilinjärt) gråskaleläge, med bilinjärt interpolerade alfapaletter och bildcentrering; ny readout-styrningskod.

Övriga ändringar och förbättringar

  • Bytte MLX90640 och AMG8833 till hårdvaru-I2C (ny MLX90640-drivrutin, kortkonfiguration för HW I2C för externa sensorer, högre MLX-readout-retry), aktiverade I2C fast-mode-plus på kameror som stöder det, lade till cambus read/write-bytes med I2C-tajmningar samt hoppade över att tillämpa alfa när den är 0 för prestanda.

Buggfixar

Kamera och bildbehandling:

  • Fixade och snabbade upp rotationskorrigeringen, vänsterkants-Bayer-till-YCbCr-buggen samt lade till en kantfix i bayer_to_y() / bayer_to_binary().

Verktyg:

  • Fixade Python 2/3-fel och anropsordningen för get_statistics().

Brytande API-ändringar

Användarsynliga API-brott mellan v3.6.2 och v3.6.3. Omfattning: Python-C-moduler i modules/ och Python-bibliotek i scripts/libraries/.

Varje ändring är märkt med sin påverkan:

  • minor — smalt API; påverkar endast skript som använde det.

  • behavior — samma API, andra resultat; kontrollera finjusterade skript på nytt.

Ändringarna är grupperade efter påverkan i den ordningen. Om du bara vill porta din kod, hoppa till migrationschecklistan i slutet. Varje commit-hash länkar till sin diff på GitHub.

Hint-konstanterna i image omdöpta (minor)

Ritnings-hint-konstanterna i image döptes om: image.INTERPOLATE_BILINEARimage.IMAGE_HINT_BILINEAR och image.IMAGE_CENTERimage.IMAGE_HINT_CENTER. Skript som skickar de gamla konstantnamnen till draw_image() måste använda de nya namnen. (Dessa döps om igen till image.BILINEAR / image.CENTER i v3.7.0.)

Commits: 8f8872537

Negativ skalning i draw_image() borttagen (behavior)

image.draw_image() stöder inte längre negativ skalning, och textursamplingspunkten flyttades till pixelns mitt. Skript som förlitade sig på negativ skalning för att vända en bild under ritning måste vända den på annat sätt, och utdata kan förskjutas med upp till en halv pixel jämfört med tidigare.

Commits: 7e83dbb92

Migrationschecklista

Döp om image.INTERPOLATE_BILINEAR / image.IMAGE_CENTER till image.IMAGE_HINT_BILINEAR / image.IMAGE_HINT_CENTER (omdöpningen av hint-konstanter), och ersätt eventuell negativ skalning i draw_image() med en explicit vändning (skalningsändringen i draw_image). Alla andra skript körs oförändrade.