v2.8.0¶
A v2.8.0 egy hatalmas kiadás. Életre kelti az OpenMV Cam H7-et (STM32H7) egy hardveres JPEG-kódolóval és H7 ADC/DAC-cal, óriási image API-átdolgozást hoz (rajzolási vastagság/kitöltések, matematikai/bináris műveletek, sok új szűrő, Otsu-küszöbölés), MicroPython szálkezelést, valamint az omv verziómodult. A Python argumentum-feldolgozási sorrend rögzítve lett, és az image.mask_ellipse() eltávolításra került — olvasd el az alábbi töréses változásokat.
Kiemelt újdonságok¶
OpenMV Cam H7 — új STM32H7 alaplap hardveres JPEG-kódolóval és H7 ADC / DAC-cal.
imageátdolgozás — vonalvastagság, alakzat-kitöltések,draw_arrow()/draw_image(), teljes matematikai/bináris műveletek és sok új szűrő.Otsu-küszöbölés —
histogram.get_threshold()és egyThresholdobjektum.Szálkezelés — MicroPython
_threadtámogatás.omvmodul — verzió- / alaplap-információk.Töréses: a Python pozicionális-argumentum sorrend mostantól szigorú, és az
image.mask_ellipse()eltávolításra került — lásd a töréses változásokat.
Új funkciók¶
OpenMV Cam H7 — STM32H7 alaplap-támogatás hardveres JPEG-kódolóval, H7 ADC-vel és H7 DAC-cal.
Rajzolás — hozzáadva vonal-
thickness, alakzat-fill(téglalap / kör), szöveg-scale/ alávágás (kerning), egymono_spacekulcsszó adraw_string()-hez, azimage.draw_arrow()és azimage.draw_image()(sprite- / maszk-rajzolás).Matematikai műveletek — hozzáadva az
add(),sub(),mul(),div(),min(),max(),difference(),blend(),replace()(hmirror/vflip/masktámogatással) és aremove_shadows(); az alapműveletek mostantól elfogadnak egy minden képpontra alkalmazott skalár/szín értéket.Bináris / morfológia — egy új bináris képtípus és a
binary(); a vonalműveletek és azerode()/dilate()elfogadnak maszkokat; hozzáadva azopen()/close()/top_hat()/black_hat().Szűrők — hozzáadva a
cartoon,flood_fill,bilateral,laplacian,blur/gaussian_bluraliasok, valamint adaptív hisztogram-kiegyenlítés (histeq(adaptive=, clip_limit=, mask=)).Statisztika — a
get_statistics()/get_histogram()elfogad egy szín-küszöbérték listát ésinvertopciót; hozzáadva az Otsuhistogram.get_threshold()és egyThresholdobjektum.CMSIS CNN — hozzáadva az
image.classify_object()egycnn.pypéldával (amelyet a v3.0.0-ban aznnmodul vált fel).Szálkezelés — engedélyezve a MicroPython
_threadmodul.omvmodul — hozzáadva verzióinformáció (version_string,arch,board_type,board_id); engedélyezve amachineI2C4 busz és a matematikai speciális függvények (erf,gamma, …); hozzáadva motor-shield példák és sok új példaszkript.
Egyéb változások és fejlesztések¶
A H7 érzékelő külső órajele 48 MHz-re csökkentve (jobb képminőség, alacsonyabb FPS); az alacsony/magas JPEG-minőség mostantól alaplaponként konfigurálható (és a H7-hez hangolva); hozzáadva alaplaponkénti
imlib_config.hfunkció-engedélyezés (az összes képfüggvény engedélyezve marad a gyári firmware-en); a mellékelt MicroPython frissítve.
Hibajavítások¶
Képfeldolgozás:
Javítva az
image.save()fájlkiterjesztés nélkül, again_db/gain_db_ceilingleképezése az OV2640 / OV7725 / OV9650 / MT9V034 esetén, a túlzott erősítés asharpen()-ben, a morfológiai él-zaj, egy nullával osztás egy képműveletben, és egy túl nagy szűrő-kernel mérete által okozott stack-smash összeomlás (mostantól tiszta hiba).
Rendszer:
A USB VCP puffer védve egy atomi szakasszal (soros adatsérülés, #313), javítva az USB-kapcsolat Windows alatt, az belső flash memória fájlrendszerének csatolása, ha az SD-kártya meghibásodik, a
cpufreqset_frequency()PLLP értéke, és egy rendszerbetöltő firmware-flashelési hiba.
Hardver- és alaplap-támogatás¶
OpenMV Cam H7 (STM32H7) — új alaplap hardveres JPEG-kódolóval és H7 ADC / DAC-cal.
machine— engedélyezve az I2C4 busz.
Töréses API-változások¶
Felhasználó számára látható API-törések a v2.7.0 és a v2.8.0 között. Hatókör: a modules/ mappában lévő Python C-modulok és a scripts/libraries/ mappában lévő Python könyvtárak.
Mindkét töréses változás minor, és csak az érintett funkciót használó szkripteket érinti. Minden commit-hash a hozzá tartozó diffre mutat a GitHubon.
A Python pozicionális-argumentum sorrend mostantól szigorú (minor)¶
Az argumentum-feldolgozás a Python C-modulokban (image / sensor / fir / gif / lcd / mjpeg) mostantól a kulcsszavak előtt olvassa be a pozicionális argumentumokat, és rögzíti a pozicionális sorrendet. A rajzolási metódusok új kulcsszó-argumentumaival kombinálva (a draw_line() / draw_rectangle() / draw_circle() / draw_string() / draw_cross() / draw_keypoints() thickness / fill / scale / size argumentumokkal bővült) annak a kódnak, amely a paramétereket pozicionálisan, rossz sorrendben adta át — vagy egy pozicionális color értéket adott át az egyik új argumentum után — kulcsszó-argumentumokat vagy a dokumentált pozicionális sorrendet kell használnia.
Az image.mask_ellipse() eltávolítva (minor)¶
Az image.mask_ellipse() eltávolításra került. Az ezt hívó szkripteknek el kell hagyniuk a hívást, vagy helyette explicit ROI / maszk-képet kell használniuk.
Commitok: d7159fba3
Migrációs ellenőrzőlista¶
Add át az argumentumokat kulcsszóval (vagy a dokumentált pozicionális sorrendben), különösen a color értéket a rajzolási metódusoknál (az argumentum-sorrend változás), és távolítsd el az image.mask_ellipse() hívásokat (a mask_ellipse eltávolítás). Minden más szkript változtatás nélkül fut.