La cámara OpenMV es una pequeña placa de microcontrolador de bajo consumo que permite implementar fácilmente aplicaciones de visión artificial en el mundo real. Se programa la cámara OpenMV mediante scripts de Python de alto nivel (gracias al sistema operativo MicroPython) en lugar de C/C++. Esto facilita el manejo de las complejas salidas de los algoritmos de visión artificial y el trabajo con estructuras de datos de alto nivel. Sin embargo, aún se tiene control total sobre la cámara OpenMV y sus pines de E/S en Python. Se puede activar fácilmente la captura de imágenes y video ante eventos externos o ejecutar algoritmos de visión artificial para determinar cómo controlar los pines de E/S.
La cámara OpenMV incluye:
- STM32H743VIProcesador ARM Cortex M7 funcionando a 480 MHz con 1 MB de SRAM y 2 MB de memoria flash. Todos los pines de E/S emiten 3.3 V y son tolerantes a 5 V. El procesador cuenta con las siguientes interfaces de E/S:
- Una interfaz USB de velocidad completa (12 Mbps) hacia su computadora. Su OpenMV Cam aparecerá como un Puerto COM Virtual y una Unidad Flash USB cuando se conecte.
- Un zócalo para tarjeta μSD capaz de lecturas/escrituras de 100 Mbps que permite a su cámara OpenMV tomar fotografías y extraer fácilmente recursos de visión artificial de la tarjeta μSD.
- Un bus SPI que puede operar hasta 80 Mbps, permitiéndole transmitir fácilmente datos de imagen desde el sistema hacia el LCD Shield, el WiFi Shield u otro microcontrolador.
- Un bus I2C (hasta 1 Mb/s), un bus CAN (hasta 1 Mb/s) y un bus serie asíncrono (TX/RX, hasta 7.5 Mb/s) para la interfaz con otros microcontroladores y sensores.
- Un ADC de 12 bits y un DAC de 12 bits.
- Tres pines de E/S para control de servos.
- Interrupciones y PWM en todos los pines de E/S (hay 10 pines de E/S en la placa).
- Y, un LED RGB y dos LED IR de alta potencia de 850 nm.
- Un sistema de módulo de cámara removible, con soporte para paralelo de 8 bits, que permite a la OpenMV Cam H7 conectarse con diferentes sensores:
- La cámara OpenMV Cam H7 viene con unMT9M114El sensor de imagen es capaz de capturar imágenes en escala de grises de 8 bits de 640x480 o imágenes BAYER de 8 bits de 640x480 a 40 FPS cuando la resolución es superior a 320x240 y a 80 FPS cuando es inferior. La mayoría de los algoritmos simples funcionarán entre 40 y 80 FPS en resoluciones QVGA (320x240) e inferiores. Su sensor de imagen incluye una lente de 2.1 mm en un montaje de lente M12 estándar. Si desea utilizar lentes más especializadas con su sensor de imagen, puede comprarlas y colocarlas fácilmente usted mismo.
- Para aplicaciones profesionales de visión artificial puede adquirir nuestroMódulo de cámara de obturador global MT9V034SingTown.
- Para aplicaciones de visión por máquina con imágenes térmicas infrarrojas, puede adquirir nuestroMódulo de imágenes térmicas FLIR Lepton.SingTown.
- Interfaz de batería de iones de litio de 3.7V, puede adquirir nuestro SingTown.Batería de iones de litio de 3.7V y 1000mAh
Para obtener más información sobre la cámara OpenMV, visite:https://singtown.com/openmv/
Aplicaciones
Actualmente, la cámara OpenMV puede utilizarse para lo siguiente (con más funciones por venir):
- Detección de Objetos con Redes Neuronales
- Puede utilizar OpenMV para entrenar redes neuronales para la detección de objetos, entrenando cualquier objetivo que desee detectar. Por ejemplo, diferentes números, diferentes frutas, diferentes marcadores, diferentes partes o cualquier objetivo irregular específico pueden ser entrenados para identificar el número, las coordenadas y el nombre del tipo de objeto de objetivos específicos.
- Puede detectar señales de tráfico en nuestras carreteras reales basándose en nuestros tutoriales en video, como prohibido tocar la bocina, prohibido estacionar, límite de velocidad 80, etc./learn/50918
- Clasificación de Redes Neuronales
- Puede utilizar OpenMV para entrenar redes neuronales para la detección de objetos, entrenando cualquier objetivo que desee detectar. Por ejemplo, diferentes números, diferentes frutas, diferentes marcadores, diferentes partes o cualquier objetivo irregular específico pueden ser entrenados para identificar el número, las coordenadas y el nombre del tipo de objeto de objetivos específicos.
- Puede clasificar si una persona lleva mascarilla basándose en nuestro tutorial en video./learn/50872
- TensorFlow Lite para Microcontroladores
- El soporte de TensorFlow Lite le permite ejecutar modelos personalizados de clasificación de imágenes y segmentación en la cámara OpenMV. Con TensorFlow Lite, puede clasificar fácilmente áreas complejas en la imagen y controlar los pines 1/0 según lo que ve.

- Detección de Diferencias de Cuadros
- Puede utilizar el algoritmo de diferencia de cuadros en OpenMV Cam para detectar movimiento en una escena. La diferencia de cuadros puede emplearse en aplicaciones de seguridad.
- Seguimiento de Color
- Puede usar OpenMV para detectar hasta 16 colores simultáneamente en una imagen (aunque nunca querrá encontrar más de 4 colores), y cada color puede tener cualquier cantidad de manchas diferentes. OpenMV le informará la posición, tamaño, centro y orientación de cada mancha. Usando seguimiento de color, su OpenMV Cam puede programarse para rastrear el sol, seguir líneas, rastrear objetivos y más. Demostración en video:/learn/49993

- Seguimiento de Marcadores
- Puede utilizar la cámara OpenMV para detectar grupos de colores en lugar de colores individuales. Esto le permite colocar etiquetas de color (rótulos con 2 o más colores) en objetos, y OpenMV capturará el contenido de los objetos etiquetados.
- Detección Facial
- Puede utilizar OpenMV Cam para detectar rostros (o cualquier objeto genérico). Su cámara OpenMV puede procesar plantillas Haar para la detección de objetos genéricos y viene con plantillas Haar de rostro frontal y ojos integradas para detectar rostros y ojos./learn/50013
- Seguimiento Ocular
- Puede utilizar el seguimiento ocular para detectar la dirección de la mirada de una persona. Puede usarlo para controlar robots. El seguimiento ocular detecta la posición de la pupila mientras verifica si hay ojos presentes en la imagen.
- Detección de Personas
- Puede utilizar el detector de personas integrado (modelo TensorFlow Lite) para detectar si hay personas en el campo de visión.
- Flujo Óptico
- Puede utilizar el flujo óptico para detectar movimiento frente a su cámara OpenMV. Por ejemplo, puede emplear el flujo óptico en un cuadricóptero para controlar la estabilidad en el aire.
- Detección/Decodificación de Código QR
- Puede utilizar la cámara OpenMV para leer códigos QR en su campo de visión. Con la detección/decodificación de códigos QR, puede habilitar a los robots inteligentes para leer etiquetas en su entorno.
- Detección/Decodificación de Matriz de Datos
- OpenMV Cam también puede detectar y decodificar códigos Data Matrix (códigos de barras 2D). Puede ver nuestro video aquí.
- Decodificación de Código de Barras Lineal
- La cámara OpenMV también puede procesar códigos de barras 1D. Puede decodificar EAN2, EAN5, EAN8, UPCE, ISBN10, UPCA, EAN13, ISBN13, I25, DATABAR, DARABAR_EXP, CODABAR, CODE39, CODE93 y CODE128. Vea nuestro video aquí:/learn/50017
- Seguimiento de AprilTag
- Incluso mejor que los códigos QR anteriores, la cámara OpenMV también puede rastrear AprilTags. Los AprilTags son marcadores fiduciales de última generación que son invariantes a la rotación, invariantes a la escala, invariantes al cizallamiento e invariantes a la iluminación. Vea nuestro video aquí:/learn/49590
- Detección de Líneas
- OpenMV Cam puede completar rápidamente la detección de líneas infinitas mientras funciona a una velocidad de cuadro casi completa. También puede encontrar segmentos de línea no infinitos. Puede ver nuestro video aquí:/learn/50009
- Detección de Círculos
- Puede utilizar fácilmente OpenMV para detectar círculos en imágenes.
- Detección de Rectángulos
- OpenMV también puede detectar rectángulos, utilizando el código de detección de cuadrados de la biblioteca AprilTag.
- Coincidencia de Plantillas
- Puede utilizar la coincidencia de plantillas de OpenMV para detectar si hay imágenes similares a la plantilla en el campo de visión. Por ejemplo, la coincidencia de plantillas puede usarse para encontrar marcadores en PCB o leer números conocidos en pantallas.
- Captura de Imagen
- Puede utilizar OpenMV para capturar imágenes RGB565/escala de grises en formato BMP/JPG/PPM/PGM. Puede controlar directamente cómo capturar imágenes en scripts de Python. Lo más importante es que puede emplear algoritmos de visión artificial para trazar líneas, dibujar caracteres y luego guardar.

- Grabación de Video
- Puede utilizar la cámara OpenMV para grabar videos MJPEG en RGB565/escala de grises o imágenes GIF (o videos RAW). Puede controlar directamente cómo se graba cada fotograma del video en scripts de Python y tener control total sobre cuándo iniciar y detener la grabación de video. Además, al igual que al tomar fotografías, puede utilizar algoritmos de visión artificial para dibujar líneas, caracteres y luego guardar.
Finalmente, todas las características anteriores pueden combinarse con el control de pines de E/S para funcionar con sus propias aplicaciones personalizadas e interactuar con el mundo real.