v3.6.3¶
v3.6.3 habilita TensorFlow en la OpenMV 3 / F7, añade soporte de modelos uint8/int8/float32, cambia los sensores térmicos MLX90640/AMG8833 a I2C por hardware, añade histogramas de diferencia de imagen y offset de corrección de lente, y rehace el control de lectura (readout). Se renombraron las constantes de hint de image y cambió el escalado de draw_image() — lee los cambios incompatibles a continuación.
Aspectos destacados¶
TensorFlow en la OpenMV 3 / F7 —
tfhabilitado en las cámaras basadas en F7, con soporte de modelos uint8/int8/float32.Sensores térmicos — el MLX90640 y el AMG8833 pasaron a I2C por hardware con un nuevo controlador MLX90640.
Imagen — soporte de diferencia de imagen en
get_histogram()y corrección de offset paralens_corr().draw_image — paletas alfa en modo escala de grises y control de lectura rehecho.
Incompatible: se renombraron las constantes de hint de
imagey se eliminó el escalado negativo dedraw_image()— consulta los cambios incompatibles.
Nuevas funciones¶
TensorFlow — se habilitó
tfen la OpenMV 3 / F7 y se actualizó TensorFlow para admitir modelos uint8 / int8 / float32.get_histogram()— se añadió la capacidad de diferencia de imagen.lens_corr()— se añadió corrección de offset.draw_image()— las paletas alfa ahora funcionan en modo escala de grises (no bilineal), con paletas alfa interpoladas bilinealmente y centrado de imagen; nuevo código de control de lectura.
Otros cambios y mejoras¶
Se cambiaron el MLX90640 y el AMG8833 a I2C por hardware (nuevo controlador MLX90640, configuración de I2C por HW en la placa para sensores externos, mayor número de reintentos de lectura del MLX), se habilitó el modo fast-mode-plus de I2C en las cámaras que lo admiten, se añadieron lectura/escritura de bytes en cambus con temporizaciones de I2C, y se omitió la aplicación del alfa cuando es 0 para mejorar el rendimiento.
Corrección de errores¶
Cámara e imagen:
Se corrigió y aceleró la corrección de rotación, el error de Bayer-a-YCbCr en el borde izquierdo, y se añadió una corrección de borde a
bayer_to_y()/bayer_to_binary().
Herramientas:
Se corrigieron errores de Python 2/3 y el orden de llamada de
get_statistics().
Cambios incompatibles en la API¶
Cambios de API visibles para el usuario entre v3.6.2 y v3.6.3. Alcance: módulos C de Python en modules/ y bibliotecas de Python en scripts/libraries/.
Cada cambio está etiquetado según su impacto:
minor — API reducida; solo afecta a los scripts que la usaban.
behavior — misma API, resultados diferentes; vuelve a comprobar los scripts ajustados.
Los cambios se agrupan por impacto en ese orden. Si solo quieres portar tu código, salta a la lista de comprobación de migración al final. Cada hash de commit enlaza a su diff en GitHub.
Constantes de hint de image renombradas (minor)¶
Las constantes de hint de dibujo de image se renombraron: image.INTERPOLATE_BILINEAR → image.IMAGE_HINT_BILINEAR e image.IMAGE_CENTER → image.IMAGE_HINT_CENTER. Los scripts que pasan los nombres de constante antiguos a draw_image() deben usar los nombres nuevos. (Estos se renombran de nuevo a image.BILINEAR / image.CENTER en v3.7.0.)
Commits: 8f8872537
Escalado negativo de draw_image() eliminado (behavior)¶
image.draw_image() ya no admite escalado negativo, y el punto de muestreo de textura se movió al centro del píxel. Los scripts que dependían del escalado negativo para voltear una imagen durante el dibujo deben voltearla de otra manera, y la salida puede desplazarse hasta medio píxel respecto a antes.
Commits: 7e83dbb92
Lista de comprobación de migración¶
Renombra image.INTERPOLATE_BILINEAR / image.IMAGE_CENTER a image.IMAGE_HINT_BILINEAR / image.IMAGE_HINT_CENTER (el renombrado de las constantes de hint), y reemplaza cualquier escalado negativo de draw_image() por un volteo explícito (el cambio de escalado de draw_image). Todos los demás scripts se ejecutan sin cambios.