v4.4.3¶
v4.4.3 introduce la placa OpenMV RT1060 (NXP i.MX RT1060), una API de grabación MJPEG muy ampliada, nuevos métodos de imagen ISP (balance de blancos automático, matriz de corrección de color, gamma) y MicroPython 1.20. Cambiaron los nombres de las placas Arduino y se modificaron los valores predeterminados de MJPEG — lee los cambios incompatibles más abajo.
Aspectos destacados¶
OpenMV RT1060 — nueva placa NXP i.MX RT1060 (y una revisión REV2).
API de MJPEG ampliada —
write(),count,is_closed,sync(), palabras clave ROI/palette/alpha, y un finalizador.Nuevos métodos ISP —
image.awb(),image.ccm(),image.gamma().MicroPython actualizado a 1.20.0.
Incompatible: se renombraron los destinos de placa Arduino y cambió la calidad predeterminada de MJPEG — consulta los cambios incompatibles.
Nuevas características¶
OpenMV RT1060 — puerto completo de NXP i.MX RT1060 (controladores de sensor, GPIO, I2C, SPI) y configuración de placa, además del soporte para la revisión REV2 de la placa RT1060 y la alarma/despertar de
machine.RTCen el puerto i.MX RT.MJPEG — un nuevo método
Mjpeg.write()(con las palabras claveroi,rgb_channel,alpha,color_palette,alpha_palette,hint) máscount,is_closed,sync()y un finalizador__del__, y los alias de constructorMJPEG/Mjpeg/mjpeg.Métodos de imagen ISP —
image.awb([max])(balance de blancos automático),image.ccm(matrix)(matriz de corrección de color 3x3 / 4x3) eimage.gamma(gamma, contrast, brightness).AprilTag — nuevos atributos de centroide en coma flotante
cxf/cyf(cx/cysiguen devolviendo enteros redondeados).ML —
tf.regression()ahora acepta un ndarray de ulab y admite tensores de entrada 2D (1D sigue siendo compatible); se habilitaron operaciones adicionales de TensorFlow Lite en las bibliotecaslibtfincluidas.
Otros cambios y mejoras¶
MicroPython actualizado a 1.20.0; ulab actualizado a 6.0.12.
image.gamma/gamma_corrse rediseñaron como un método ISP y se extendieron para admitir imágenes Bayer e YUV (no solo imágenes mutables).Las placas STM32 (Portenta H7, Nicla Vision) cambiaron al controlador WiFi cyw43 de código abierto.
La biblioteca
rtspse hizo portable (usarandom/timeen lugar depyb);urequestsahora siempre cierra su socket.
Correcciones de errores¶
Cámara y sensores:
Se corrigieron la frecuencia de reloj (CLKRC) del OV767x en la Arduino Nano 33 BLE Sense, el manejo del bypass/pre-escalador del CLKRC del OV7670, y las líneas de datos D0/D1 intercambiadas en la Arduino Nicla Vision / kit ML (puerto nrf).
Sistema y USB:
Se corrigió el manejo de paquetes USB cortos en el modo de depuración TinyUSB (transferencias IDE/host más fiables).
Se corrigieron la polaridad del LED parpadeante de la OpenMV RT1060 y la detección de la tarjeta SD al encender.
Hardware y soporte de placas¶
OpenMV RT1060 — nueva placa NXP i.MX RT1060, además de la revisión REV2.
STM32 — la Portenta H7 / Nicla Vision pasaron al controlador WiFi cyw43 de código abierto.
Cambios incompatibles en la API¶
Cambios incompatibles de la API visibles para el usuario entre v4.4.2 y v4.4.3. Alcance: módulos C de Python en modules/ y bibliotecas de Python en scripts/libraries/.
Cada cambio está etiquetado según su impacto:
comportamiento — misma API, resultados diferentes; vuelve a revisar los scripts ajustados.
herramientas — afecta al nombrado/flasheo de placas, no a la API de Python.
Los cambios se agrupan por impacto en ese orden. Cada hash de commit enlaza a su diff en GitHub.
Valores predeterminados y manejo de errores de MJPEG (comportamiento)¶
Se reescribió el código de grabación MJPEG. La calidad quality JPEG predeterminada de add_frame() / write() se elevó de 50 a 90 (las grabaciones son más grandes y de mayor calidad de forma predeterminada), una calidad no válida ahora lanza ValueError, operar sobre un archivo cerrado ahora lanza OSError, y los métodos de grabación ahora devuelven el objeto Mjpeg. Los scripts que dependían de la antigua calidad predeterminada o del comportamiento de errores anterior deben volver a revisarse.
Commit: 3fc55ad31
Destinos de placa Arduino renombrados (herramientas)¶
Los destinos de placa Arduino se renombraron a una convención de nombres actualizada y se refrescaron todos los manifiestos de placa (conjuntos de módulos congelados). Esto no cambia la API de Python, pero los nombres de archivo/placa de firmware usados para compilar o flashear placas Arduino cambiaron — actualiza tus herramientas en consecuencia.
Lista de verificación de migración¶
Para una portabilidad limpia a v4.4.3: vuelve a revisar las grabaciones MJPEG por la nueva calidad predeterminada y el comportamiento de errores (el cambio de MJPEG), y actualiza las herramientas de compilación/flasheo para los destinos de placa Arduino renombrados (el renombrado de placas). El resto de los scripts se ejecutan sin cambios.