OpenMV Cam: Guía Técnica Completa de Cámaras de Visión Inteligente
Las cámaras de visión inteligente son sistemas con sensores de imagen integrados que capturan imágenes y extraen información eléctrica precisa. Generan descripción de eventos y toman decisiones mediante filtros de imagen digital. OpenMV Cam es un ejemplo: interfaces de comunicación, líneas I/O y bajo coste.
¿Qué es OpenMV?
Proyecto OpenMV Cam: visión artificial accesible para aprendices mediante plataforma open-source, low-cost y amigable.
OpenMV Cam
Programable en Python 3 (MicroPython). Funciones extensas de procesamiento de imagen y machine learning:
- Grabación vídeo GIF y MJPEG
- Detección AprilTags
- Decodificación QR y código de barras
(QR y código de barras)
- Seguimiento de color (color tracking)
- Descriptores de keypoints
- Detección de rostros (face detection)
IDE multiplataforma basado en Qt Creator refuerza cámaras programables. OpenMV IDE permite:
- Ver frame buffer de la cámara en tiempo real
- Acceder a controles del sensor
- Subir scripts vía BLE/Wi-Fi/USB serie
Herramientas de procesado de imagen para generar keypoints, umbrales, tags, etc.
Descripción de OpenMV Cam
Lente ultra gran angular OpenMV
Definición
Placa microcontroladora potente con cámara programable vía MicroPython.
Funciones de OpenMV Cam
- Ejecutar algoritmos de machine vision en la cámara: detección de caras, seguimiento de color, etc.
- Funcionalidad embebida: control directo de pines I/O en el mundo real. Disparar captura de vídeo/foto al ejecutar algoritmos o por eventos externos.
- Programación en MicroPython (alto nivel) en vez de C/C++ → estructuras de datos complejas y salidas sofisticadas de algoritmos de visión fáciles de manejar.
OpenMV Cam M7
Definición
Microcontrolador compacto, bajo consumo, para aplicaciones de machine vision en el mundo real.
Función
Igual que OpenMV Cam: detección de color, seguimiento facial, etc.
Características del OpenMV Cam (Cortex-M7)
- DAC 12-bit y ADC 12-bit
- 2 LED IR 850 nm alta potencia + 1 LED RGB
- 10 pines I/O: PWM, interrupciones, 3 pines para control de servos. Bus SPI hasta 54 Mbps → streaming fácil de datos de imagen
- Salida I/O 3,3 V (no tolera 5 V)
- Núcleo a 216 MHz, 2 MB flash externa + 512 KB RAM
- Sensor imagen OV7725: 320×240 16-bit o 640×480 8-bit escala de grises a 30 FPS
- Interfaz con sensores/microcontroladores: serie asíncrona (TX/RX), CAN bus, I2C
- Montura M12 estándar con lente 2,8 mm + socket microSD (100 Mbps R/W). Lentes especializadas opcionales
- USB full-speed (12 Mbps) → al enchufar aparece como disco USB y puerto COM virtual
Librería de Interfaz (RPC)
Librería Remote Python/Procedure Call (RPC) integrada para conectar la Cam a: microcontrolador (Arduino, Raspberry Pi), SBC (Single Board Computer) o PC.
Operación de la Librería RPC
Funciona sobre:
- Wi-Fi (via shield) hasta 12 Mbps
- USB VCP (Virtual COM Port) hasta 12 Mbps
- CAN bus hasta 1 Mbps
- SPI bus hasta 54 Mbps (40/80 Mbps con cables cortos)
- I2C bus = 1 Mbps (con pull-ups)
- UART (Serie asíncrono) = 7,5 Mbps
Permite streaming JPG/RAW y obtener resultados de procesado de imagen. Para control hardware de bajo nivel (motores), usa OpenMV para pilotar otro microcontrolador.
Elige una librería de interfaz según tu sistema:
Librería Interfaz Arduino (I2C, UART, SPI, CAN)
- CAN via periférico CAN en ESP32 o MCP2515 sobre SPI
- Funciona en todas las variantes de Arduino
Interfaz Python Genérica (SPI/I2C, Kvaser CAN, UART, Ethernet/Wi-Fi, USB VCP)
Código Python para conectar OpenMV Cam a Linux (BeagleBone/Raspberry Pi), macOS o Windows.
BeagleBone
Soporta:
- SPI/I2C en SBCs Linux (BeagleBone/Raspberry Pi)
- Kvaser CAN en Linux/Windows
- Wi-Fi/Ethernet en todos los sistemas
- USB VCP en todos (conexión directa)
- TTL/RS485/RS422/RS232 UART en todos
Precauciones con Puertos Serie
Abre VCP de OpenMV Cam y lee líneas de texto del puerto serie:
Funciona en Linux, macOS, Windows. Cambia nombre de puerto al de tu USB VCP. En Linux/macOS aparece como /dev/ttyACM* o /dev/ttyUSB*.
Nota: Al abrir puerto USB VCP con otro lenguaje/librería serie, pon DTR = false. Si no, OpenMV Cam puede saturar la salida impresa.
Aplicaciones
- Detección de líneas/bordes
- Diferenciación de frames (motion detection)
- Grabación de vídeo
- Seguimiento AprilTag
- Multi-blob color tracking (crear marcadores de color)
- Captura de imagen
- Template matching
- Detección de formas (rectángulo, círculo)
- Decodificación código de barras lineal
- Detección/decodificación Data Matrix
- Detección/decodificación QR
- Flujo óptico (optical flow)
- Modelos TensorFlow Lite para microcontroladores
- Seguimiento ocular (eye tracking)
- Detección facial
(Detección y reconocimiento facial)
- Seguimiento de marcadores (marker tracking)
Conclusión
OpenMV permite funciones de machine vision: detección facial, grabación RAW, detección de códigos de color. Su amplia gama de aplicaciones nace de características sobresalientes.
¿Quieres saber más sobre cámaras de visión inteligente, en especial OpenMV Cam? Contáctanos.
Tecnología Industrial
- Construyendo una fábrica inteligente: una guía práctica paso a paso
- Instalación de Cámara Raspberry Pi en una Caseta de Pájaros – Guía Paso a Paso
- B&R lanza cámaras inteligentes totalmente integradas para automatización precisa
- Dominando el brasado de aluminio: Técnicas expertas y guía práctica
- Guía experta para soldar cobre: Técnicas, consejos y mejores prácticas
- Guía de Configuración de Soldadora MIG: Optimice Rendimiento y Consiga Cordones Perfectos
- Elección del Material de PCB Adecuado: Guía Completa
- Dominando los Refuerzos de PCB: Guía Completa para PCB Flexibles
- Dominando el Diseño de PCB para Internet de las Cosas: Guía Completa
- ADLINK lanza NEON‑1000‑MDX: Cámara inteligente Edge AI llave en mano para despliegue rápido visión industrial
- Transformando la manufactura: Cómo las fábricas inteligentes impulsan eficiencia y ROI