La cámara OpenMV es una pequeña placa de microcontrolador de bajo consumo que permite implementar fácilmente aplicaciones utilizando visión artificial en el mundo real. Se programa la cámara OpenMV con scripts de Python de alto nivel (cortesía del 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:
- STM32H743IIProcesador ARM Cortex M7 funcionando a 480 MHz con 32 MB de SDRAM + 1 MB de SRAM y 32 MB de memoria flash externa + 2 MB de memoria flash interna. Todos los pines de E/S emiten 3.3V y son tolerantes a 5V. 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 OpenMV Cam 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.
- Dos 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.
- 32 MB de SDRAM externa de 32 bits a 100 MHz para un ancho de banda de 400 MB/s.
- 32 MB de flash externa quadspi a 100 MHz en modo DDR de 4 bits para un ancho de banda de 100 MB/s (velocidad de lectura).
- 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 Plus incluye unOV5640El sensor de imagen es capaz de capturar imágenes de 2592x1944 (5MP). La mayoría de los algoritmos simples funcionarán entre 25 y 50 FPS en resoluciones QVGA (320x240) e inferiores. Su sensor de imagen viene con una lente de 2.8mm montada en un soporte estándar M12. Si desea utilizar lentes más especializados con su sensor de imagen, puede comprarlos e instalarlos fácilmente usted mismo. Para usar lentes más especializados, puede instalarlos fácilmente.
- Para aplicaciones profesionales de visión artificial, puede adquirir nuestroMódulo de cámara de obturador global mt9V034SingTown es una plataforma de entretenimiento social que integra transmisión en vivo, contenido de video corto y comunidad de fans.
- Para aplicaciones de visión artificial con imágenes térmicas infrarrojas, puede adquirir nuestroMódulo de imagen térmica FLIR Lepton.
- Interfaz de batería de iones de litio de 3.7V, puede adquirir nuestro3.7V-1000MAH batería de iones de litio
Documentación:https://singtown.com/openmv/
Aplicaciones
Actualmente, la cámara OpenMV puede realizar 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 su OpenMV Cam para detectar movimiento en una escena. La diferencia de cuadros permite que su OpenMV se utilice en aplicaciones de seguridad.
- Seguimiento de Color
- Puede utilizar 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 ubicación, tamaño, centro y orientación de cada mancha. Mediante el seguimiento de colores, su cámara OpenMV puede programarse para rastrear el sol, seguir líneas, seguir objetivos y más. Demostración en video:/learn/49993

- Seguimiento de Marcadores
- Puede utilizar su cámara OpenMV para detectar grupos de colores en lugar de colores individuales. Esto le permite colocar etiquetas de color (2 o más marcas de color) en objetos y OpenMV obtendrá el contenido de los objetos etiquetados.
- Detección Facial
- Puede utilizar su cámara OpenMV para detectar rostros (o cualquier objeto genérico). Su cámara OpenMV puede procesar plantillas Haar para la detección genérica de objetos y viene con plantillas Haar integradas de rostro frontal y ojos para detectar rostros y ojos./learn/50013
- Seguimiento Ocular
- Puede utilizar el seguimiento ocular para detectar la dirección en la que alguien está mirando. Puede usar esto 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 flujo óptico para detectar movimiento frente a su cámara OpenMV. Por ejemplo, puede emplear flujo óptico en un cuadricóptero para controlar la estabilidad en el aire.
- Detección/Decodificación de Código QR
- Puede utilizar su 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 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
- OpenMV Cam 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
- Aún 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ínea
- OpenMV Cam puede completar rápidamente la detección de líneas infinitas mientras funciona a una velocidad de cuadro casi completa. Además, puede encontrar segmentos de línea no infinitos. Puedes 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 la vista. Por ejemplo, la coincidencia de plantillas se puede utilizar para encontrar marcadores en PCB o leer números conocidos en pantallas.
- Captura de Imagen
- Puede utilizar OpenMV para capturar imágenes BMP/JPG/PPM/PGM en RGB565 o escala de grises. Puede controlar directamente cómo capturar imágenes en scripts de Python. Lo más importante es utilizar algoritmos de visión artificial para dibujar líneas, 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 comienza y termina 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.