v3.6.0¶
v3.6.0 trae compatibilidad completa con la cámara OV5640 de 5 MP con nuevos tamaños de fotograma de alta resolución (HD / FHD / QHD / QXGA / WQXGA), actualiza el núcleo a MicroPython 1.12, optimiza intensamente el codificador JPEG por software y la detección de AprilTag / líneas, añade UVC (vídeo USB) en el OpenMV Cam H7 Plus, y admite memoria flash QSPI de hasta 32 MB. El comportamiento de MicroPython y get_histogram() cambiaron — lee los cambios incompatibles a continuación.
Aspectos destacados¶
OV5640 de 5 MP — controlador completo de cámara con nuevos tamaños de fotograma HD / FHD / QHD / QXGA / WQXGA / WQXGA2.
MicroPython 1.12 — se actualizó el núcleo incluido.
Pipeline más rápido — codificación JPEG por software, detección de AprilTag, detección de líneas LSD,
histeq()y decodificación de códigos QR fuertemente optimizadas.UVC en el H7 Plus — el OpenMV Cam H7 Plus puede actuar como dispositivo de vídeo USB.
Incompatible: el comportamiento de MicroPython, la normalización de
image.get_histogram()y la salida JPEG/escala de grises del OpenMV 3 cambiaron — consulta los cambios incompatibles.
Nuevas características¶
OV5640 — se añadió compatibilidad completa con la cámara OV5640 de 5 MP (configuración del reloj externo en la inicialización del sensor) y las nuevas constantes de tamaño de fotograma
sensor.HD/FHD/QHD/QXGA/WQXGA/WQXGA2.TIM4 — se liberó para que pueda usarse desde MicroPython.
Se añadió un ejemplo de escritura temporizada de DAC (
dac_write_timed.py) y se renombródac_control.pyadac_write.py.
Otros cambios y mejoras¶
Se actualizó el MicroPython incluido a 1.12; se optimizó intensamente el codificador JPEG por software (ruta VGA, rutas de escala de grises/binaria, aritmética con enteros en lugar de coma flotante, captura optimizada de MCU),
find_line_segments()de LSD, la detección de AprilTag,Image.histeq()y la conversión de códigos QR / RGB a gris; se añadió compatibilidad con memoria flash QSPI para chips de hasta 32 MB; se eliminó el ejemplo obsoletocnn.pyde CMSIS-CNN.
Corrección de errores¶
Cámara e imagen:
Se corrigió la corrupción de la codificación JPEG a HQQQVGA, la compresión de imagen binaria (1 bit) → JPEG, una regresión de
find_line_segments()(se reactivó la comprobación no alineadaNOTDEF) y problemas menores del controlador OV2640.
Sistema y arranque:
Se corrigió la corrupción de la autoprueba / sistema de archivos (
selftest.pyahora se ejecuta antes de que se habilite USB MSC, y USB MSC se habilita ante un error fatal para que el host pueda leer el registro de errores), elwrite_timed()depyb.DAC, las temporizaciones demachine.I2Cdel H7, la reactivación del overdrive del F7 tras el modo de parada, y el intervalo dertc.wakeup()destop_mode.py.
Compatibilidad con hardware y placas¶
OV5640 — controlador completo de cámara de 5 MP con tamaños de fotograma de alta resolución.
OpenMV Cam H7 Plus — compatibilidad con UVC (vídeo USB); el destino de placa
OPENMV4Rse renombró aOPENMV4P.Memoria flash QSPI — ahora se admiten chips de hasta 32 MB.
Cambios incompatibles en la API¶
Cambios incompatibles en la API visibles para el usuario entre v3.5.2 y v3.6.0. Alcance: los módulos C de Python en modules/ y las bibliotecas de Python en scripts/libraries/.
Los tres cambios incompatibles son cambios de comportamiento (misma API, resultados distintos) — vuelve a revisar los scripts afectados. Cada hash de commit enlaza con su diff en GitHub.
MicroPython actualizado a 1.12 (comportamiento)¶
El núcleo de MicroPython incluido se actualizó a 1.12. El comportamiento de la biblioteca estándar y del lenguaje sigue al de MicroPython 1.12 oficial; vuelve a revisar los scripts que dependan del comportamiento de micropython / módulos estándar específico de la versión.
Commits: eafd431ea
La normalización del umbral de image.get_histogram() cambió (comportamiento)¶
image.get_histogram() (y get_statistics()) con umbrales de color ahora normaliza por el número de píxeles umbralizados en lugar de por la ROI completa, y usa el redondeo hacia abajo en lugar del redondeo al más cercano para indexar los bins. Los valores de histograma/estadísticas para las llamadas umbralizadas difieren de las versiones anteriores — vuelve a ajustar el código que comparaba con valores absolutos de histograma.
Commits: 7cf0f8089
La salida JPEG/escala de grises del OpenMV 3 cambió (comportamiento)¶
Para ahorrar memoria flash, se deshabilitó la tabla de búsqueda YUV del OpenMV 3 (M7), por lo que los valores de píxel de la salida JPEG y en escala de grises se calculan de forma ligeramente distinta en el OpenMV 3. La salida sigue siendo válida pero difiere marginalmente de las versiones anteriores; vuelve a revisar las comparaciones exactas de píxeles en el OpenMV 3.
Commits: 0e4b46e41
Lista de verificación de migración¶
Vuelve a validar contra 1.12 los scripts que dependan del comportamiento de MicroPython específico de la versión (la actualización de MicroPython), vuelve a ajustar el código que comparaba con valores absolutos de get_histogram() / get_statistics() al usar umbrales de color (el cambio del histograma), y vuelve a revisar las comparaciones exactas de píxeles en el OpenMV 3 (el cambio de salida del OpenMV 3). Todos los demás scripts funcionan sin cambios.