v2.8.0¶
v2.8.0 är en enorm utgåva. Den startar upp OpenMV Cam H7 (STM32H7) med en hårdvaru-JPEG-kodare och H7 ADC/DAC, en stor omarbetning av image-API:et (ritlinjetjocklek/fyllningar, matematiska/binära operationer, många nya filter, Otsu-tröskling), MicroPython-trådning och omv-versionsmodulen. Ordningen för Pythons argumenttolkning låstes och image.mask_ellipse() togs bort — läs de brytande ändringarna nedan.
Höjdpunkter¶
OpenMV Cam H7 — nytt STM32H7-kort med en hårdvaru-JPEG-kodare och H7 ADC / DAC.
image-omarbetning — linjetjocklek, formfyllningar,draw_arrow()/draw_image(), fullständiga matematiska/binära operationer och många nya filter.Otsu-tröskling —
histogram.get_threshold()och ettThreshold-objekt.Trådning — stöd för MicroPython
_thread.omv-modul — versions- / kortinformation.Brytande: ordningen för Pythons positionsargument är nu strikt och
image.mask_ellipse()togs bort — se de brytande ändringarna.
Nya funktioner¶
OpenMV Cam H7 — STM32H7-kortstöd med en hårdvaru-JPEG-kodare, H7 ADC och H7 DAC.
Ritning — lade till linje-
thickness, form-fill(rektangel / cirkel), text-scale/ kerning, ettmono_space-nyckelord pådraw_string(),image.draw_arrow()ochimage.draw_image()(sprite-/maskritning).Matematiska operationer — lade till
add(),sub(),mul(),div(),min(),max(),difference(),blend(),replace()(medhmirror/vflip/mask) ochremove_shadows(); grundläggande operationer accepterar nu ett skalär-/färgvärde som tillämpas på alla pixlar.Binär / morfologi — en ny binär bildtyp och
binary(); linjeoperationer ocherode()/dilate()accepterar masker; lade tillopen()/close()/top_hat()/black_hat().Filter — lade till
cartoon,flood_fill,bilateral,laplacian, aliasenblur/gaussian_bluroch adaptiv histogramutjämning (histeq(adaptive=, clip_limit=, mask=)).Statistik —
get_statistics()/get_histogram()accepterar en färgtröskellista ochinvert; lade till Otsuhistogram.get_threshold()och ettThreshold-objekt.CMSIS CNN — lade till
image.classify_object()med ettcnn.py-exempel (ersatt avnn-modulen i v3.0.0).Trådning — aktiverade MicroPython
_thread-modulen.omv-modul — lade till versionsinformation (version_string,arch,board_type,board_id); aktiverademachineI2C4-bussen och matematiska specialfunktioner (erf,gamma, …); lade till exempel för motor-shield och många nya exempelskript.
Övriga ändringar och förbättringar¶
H7:ans externa sensorklocka sänktes till 48 MHz (bättre bildkvalitet, lägre FPS); låg/hög JPEG-kvalitet är nu kortkonfigurerbar (och avstämd för H7:an); lade till per-kort
imlib_config.h-funktionsspärrning (alla bildfunktioner förblir aktiverade i standard-firmware); uppdaterade den medföljande MicroPython.
Buggfixar¶
Bildbehandling:
Fixade
image.save()utan filändelse,gain_db/gain_db_ceiling-mappningen för OV2640 / OV7725 / OV9650 / MT9V034, överdriven förstärkning isharpen(), morfologiskt kantbrus, en division med noll i en bildoperation och en stack-smash-krasch vid en för stor filterkärnstorlek (nu ett rent fel).
System:
Skyddade USB VCP-bufferten med en atomär sektion (seriell korruption, #313), fixade USB-anslutning på Windows, montering av det interna flashminnesfilsystemet om SD-kortet misslyckas,
cpufreqset_frequency()PLLP-värdet samt en bugg vid firmware-flashning i startladdaren.
Hårdvaru- och kortstöd¶
OpenMV Cam H7 (STM32H7) — nytt kort med en hårdvaru-JPEG-kodare och H7 ADC / DAC.
machine— aktiverade I2C4-bussen.
Brytande API-ändringar¶
Användarsynliga API-brytningar mellan v2.7.0 och v2.8.0. Omfattning: Python-C-moduler i modules/ och Python-bibliotek i scripts/libraries/.
Båda brytande ändringarna är minor och påverkar endast skript som använde den aktuella funktionen. Varje commit-hash länkar till sin diff på GitHub.
Ordningen för Pythons positionsargument är nu strikt (minor)¶
Argumenttolkningen i Python-C-modulerna (image / sensor / fir / gif / lcd / mjpeg) läser nu positionsargument före nyckelord och låser positionsordningen. I kombination med de nya nyckelordsargumenten på ritmetoderna (draw_line() / draw_rectangle() / draw_circle() / draw_string() / draw_cross() / draw_keypoints() får thickness / fill / scale / size) måste kod som skickade parametrar positionellt i fel ordning — eller skickade en positionell color efter ett av de nya argumenten — använda nyckelordsargument eller den dokumenterade positionsordningen.
image.mask_ellipse() borttagen (minor)¶
image.mask_ellipse() togs bort. Skript som anropade den måste ta bort anropet eller använda en explicit ROI / maskbild istället.
Commits: d7159fba3
Migrationschecklista¶
Skicka argument med nyckelord (eller i den dokumenterade positionsordningen), särskilt color på ritmetoderna (argumentordningsändringen), och ta bort anrop till image.mask_ellipse() (mask_ellipse-borttagningen). Alla andra skript körs oförändrade.