v3.6.0¶
v3.6.0 ger fullt stöd för kameran OV5640 5 MP med nya högupplösta bildstorlekar (HD / FHD / QHD / QXGA / WQXGA), uppdaterar kärnan till MicroPython 1.12, optimerar i hög grad den mjukvarubaserade JPEG-kodaren och AprilTag-/linjedetektering, lägger till UVC (USB-video) på OpenMV Cam H7 Plus och stöder QSPI-flashminne upp till 32 MB. MicroPython-beteendet och get_histogram() ändrades — läs ändringarna som bryter bakåtkompatibiliteten nedan.
Höjdpunkter¶
OV5640 5 MP — fullständig kameradrivrutin med nya bildstorlekarna HD / FHD / QHD / QXGA / WQXGA / WQXGA2.
MicroPython 1.12 — den medföljande kärnan uppdaterades.
Snabbare pipeline — kraftigt optimerad mjukvarubaserad JPEG-kodning, AprilTag-detektering, LSD-linjedetektering,
histeq()och QR-kodavkodning.UVC på H7 Plus — OpenMV Cam H7 Plus kan fungera som en USB-videoenhet.
Bryter bakåtkompatibiliteten: MicroPython-beteendet, normaliseringen i
image.get_histogram()och OpenMV 3:s JPEG-/gråskaleutdata ändrades — se ändringarna som bryter bakåtkompatibiliteten.
Nya funktioner¶
OV5640 — lade till fullt stöd för kameran OV5640 5 MP (extern klockkonfiguration i sensorinitieringen) och de nya bildstorlekskonstanterna
sensor.HD/FHD/QHD/QXGA/WQXGA/WQXGA2.TIM4 — frigjord så att den är användbar från MicroPython.
Lade till ett exempel på tidsstyrd DAC-skrivning (
dac_write_timed.py) och bytte namn pådac_control.pytilldac_write.py.
Övriga ändringar och förbättringar¶
Uppdaterade den medföljande MicroPython till 1.12; optimerade i hög grad den mjukvarubaserade JPEG-kodaren (VGA-väg, gråskale-/binärvägar, heltal i stället för flyttalsmatematik, optimerad MCU-fångst), LSD
find_line_segments(), AprilTag-detektering,Image.histeq()och QR-kod- / RGB-till-gråkonvertering; lade till QSPI-flashstöd för chip upp till 32 MB; tog bort det föråldrade CMSIS-CNN-exempletcnn.py.
Felrättningar¶
Kamera och bildbehandling:
Åtgärdade JPEG-kodningskorruption vid HQQQVGA, binär (1-bitars) bild → JPEG-komprimering, en regression i
find_line_segments()(återaktiveradeNOTDEF-kontrollen för icke-justerade) och mindre problem i OV2640-drivrutinen.
System och uppstart:
Åtgärdade självtest-/filsystemskorruption (
selftest.pykörs nu innan USB MSC aktiveras, och USB MSC aktiveras vid ett fatalt fel så att värden kan läsa felloggen),pyb.DACwrite_timed(), H7machine.I2C-tidsinställningarna, F7 overdrive-återaktivering efter stoppläge ochrtc.wakeup()-intervallet istop_mode.py.
Hårdvaru- och kortstöd¶
OV5640 — fullständig 5 MP-kameradrivrutin med högupplösta bildstorlekar.
OpenMV Cam H7 Plus — UVC-stöd (USB-video); kortmålet
OPENMV4Rbytte namn tillOPENMV4P.QSPI-flashminne — chip upp till 32 MB stöds nu.
API-ändringar som bryter bakåtkompatibiliteten¶
Användarsynliga API-brott mellan v3.5.2 och v3.6.0. Omfattning: Python C-moduler i modules/ och Python-bibliotek i scripts/libraries/.
Alla tre ändringarna som bryter bakåtkompatibiliteten är beteendeändringar (samma API, annat resultat) — kontrollera berörda skript på nytt. Varje commit-hash länkar till sin diff på GitHub.
MicroPython uppdaterad till 1.12 (beteende)¶
Den medföljande MicroPython-kärnan uppdaterades till 1.12. Standardbibliotekets och språkets beteende följer uppströms MicroPython 1.12; kontrollera på nytt skript som är beroende av versionsspecifikt micropython-/standardmodulbeteende.
Commits: eafd431ea
Normaliseringen av tröskelvärden i image.get_histogram() ändrades (beteende)¶
image.get_histogram() (och get_statistics()) med färgtröskelvärden normaliserar nu efter antalet tröskelvärdesbehandlade pixlar i stället för hela ROI, och använder golv i stället för avrundning för binindexering. Histogram-/statistikvärden för tröskelvärdesanrop skiljer sig från tidigare versioner — finjustera kod som jämförde mot absoluta histogramvärden på nytt.
Commits: 7cf0f8089
OpenMV 3 JPEG-/gråskaleutdata ändrades (beteende)¶
För att spara flashminne inaktiverades OpenMV 3:s (M7) YUV-uppslagstabell, så JPEG- och gråskaleutdatas pixelvärden beräknas något annorlunda på OpenMV 3. Utdata är fortfarande giltiga men skiljer sig marginellt från tidigare versioner; kontrollera pixelexakta jämförelser på OpenMV 3 på nytt.
Commits: 0e4b46e41
Migreringschecklista¶
Validera på nytt skript som är beroende av versionsspecifikt MicroPython-beteende mot 1.12 (MicroPython-uppdateringen), finjustera kod som jämförde mot absoluta get_histogram()- / get_statistics()-värden vid användning av färgtröskelvärden på nytt (histogramändringen) och kontrollera pixelexakta jämförelser på OpenMV 3 på nytt (OpenMV 3-utdataändringen). Alla övriga skript körs oförändrade.