v3.6.3#

v3.6.3 povoluje TensorFlow na OpenMV 3 / F7, přidává podporu modelů uint8/int8/float32, přepíná termální senzory MLX90640/AMG8833 na hardwarové I2C, přidává histogramy rozdílu obrazu a offset korekce objektivu a přepracovává řízení readoutu. Konstanty nápověd modulu image byly přejmenovány a změnilo se škálování draw_image() — přečtěte si přelomové změny níže.

Hlavní novinky#

  • TensorFlow na OpenMV 3 / F7tf povolen na kamerách založených na F7, s podporou modelů uint8/int8/float32.

  • Termální senzory — MLX90640 a AMG8833 přepnuty na hardwarové I2C s novým ovladačem MLX90640.

  • Zpracování obrazu — podpora rozdílu obrazu v get_histogram() a offset korekce pro lens_corr().

  • draw_image — alfa palety v režimu stupňů šedi a přepracované řízení readoutu.

  • Přelomová změna: konstanty nápověd modulu image byly přejmenovány a záporné škálování draw_image() bylo odstraněno — viz přelomové změny.

Nové funkce#

  • TensorFlow — povolen tf na OpenMV 3 / F7 a aktualizován TensorFlow s podporou modelů uint8 / int8 / float32.

  • get_histogram() — přidána schopnost rozdílu obrazu.

  • lens_corr() — přidána offset korekce.

  • draw_image() — alfa palety nyní fungují v (nebilineárním) režimu stupňů šedi, s bilineárně interpolovanými alfa paletami a centrováním obrazu; nový kód řízení readoutu.

Další změny a vylepšení#

  • Přepnuty MLX90640 a AMG8833 na hardwarové I2C (nový ovladač MLX90640, HW I2C v konfiguraci desky pro externí senzory, vyšší počet pokusů o readout MLX), povolen I2C fast-mode-plus na kamerách, které jej podporují, přidáno čtení/zápis bajtů přes cambus s I2C časováním a vynecháno aplikování alfa, když je 0, kvůli výkonu.

Opravy chyb#

Kamera a zpracování obrazu:

  • Opravena a zrychlena korekce otočení, chyba převodu Bayer-to-YCbCr u levé hrany a přidána oprava hran do bayer_to_y() / bayer_to_binary().

Nástroje:

  • Opraveny chyby Python 2/3 a pořadí volání get_statistics().

Přelomové změny API#

Uživatelsky viditelné přelomové změny API mezi v3.6.2 a v3.6.3. Rozsah: Python C-moduly v modules/ a Python knihovny v scripts/libraries/.

Každá změna je označena svým dopadem:

  • minor — úzké API; ovlivní pouze skripty, které jej používaly.

  • behavior — stejné API, jiné výsledky; znovu zkontrolujte vyladěné skripty.

Změny jsou seskupeny podle dopadu v tomto pořadí. Pokud chcete jen přenést svůj kód, přejděte na kontrolní seznam migrace na konci. Každý hash commitu odkazuje na svůj diff na GitHubu.

Konstanty nápověd modulu image přejmenovány (minor)#

Konstanty nápověd kreslení modulu image byly přejmenovány: image.INTERPOLATE_BILINEARimage.IMAGE_HINT_BILINEAR a image.IMAGE_CENTERimage.IMAGE_HINT_CENTER. Skripty předávající staré názvy konstant do draw_image() musí použít nové názvy. (Tyto jsou znovu přejmenovány na image.BILINEAR / image.CENTER v v3.7.0.)

Commity: 8f8872537

Záporné škálování draw_image() odstraněno (behavior)#

image.draw_image() již nepodporuje záporné škálování a bod vzorkování textury byl přesunut do středu pixelu. Skripty, které se spoléhaly na záporné škálování pro překlopení obrazu během kreslení, jej musí překlopit jiným způsobem a výstup se může oproti dřívějšku posunout až o půl pixelu.

Commity: 7e83dbb92

Kontrolní seznam migrace#

Přejmenujte image.INTERPOLATE_BILINEAR / image.IMAGE_CENTER na image.IMAGE_HINT_BILINEAR / image.IMAGE_HINT_CENTER (přejmenování konstant nápověd) a nahraďte jakékoli záporné škálování draw_image() explicitním překlopením (změna škálování draw_image). Všechny ostatní skripty běží beze změny.