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 / F7tf habilitado 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 para lens_corr().

  • draw_image — paletas alfa en modo escala de grises y control de lectura rehecho.

  • Incompatible: se renombraron las constantes de hint de image y se eliminó el escalado negativo de draw_image() — consulta los cambios incompatibles.

Nuevas funciones

  • TensorFlow — se habilitó tf en 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_BILINEARimage.IMAGE_HINT_BILINEAR e image.IMAGE_CENTERimage.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.