Subscribe to receive our blog updates
The OpenMV Cam is a general purpose MicroPython powered microcontroller platform with camera input and computer vision processing ready-to-go right out-of-the-box! Sense, plan, and act using MicroPython to control general-purpose I/O pins that can do I2C/SPI/PWM/etc. along with being able to read/write files and talk to the internet through wifi/ethernet. So, what can the OpenMV Cam do? Anything you want it to! Checkout the videos below that show off various features of the OpenMV Cam and how some of our customers have been using the system.
TensorFlow Lite support lets you run custom image classification and segmentation models on board your OpenMV Cam. With TensorFlow Lite support you can easily classify complex regions of interest in view and control I/O pins based on what you see. The OpenMV Cam features Edge Impulse integration for easy training of TensorFlow Lite Models in the cloud. Using OpenMV IDE and Edge Impulse you can easily train a Model in 15 minutes!
You can detect Faces with your OpenMV Cam (or any generic object). Your OpenMV Cam can process Haar Cascades to do generic object detection and comes with a built-in Frontal Face Cascade and Eye Haar Cascade to detect faces and eyes. You can use Eye Tracking with your OpenMV Cam to detect someone's gaze. You can then, for example, use that to control a robot. Eye Tracking detects where the pupil is looking versus detecting if there's an eye in the image. Finally, you can detect if there's a person in the field of view using our built-in person detector TensorFlow Lite model.
You can use your OpenMV Cam to detect up to 16 colors at a time in an image (realistically you'd never want to find more than 4) and each color can have any number of distinct blobs. Your OpenMV Cam will then tell you the position, size, centroid, and orientation of each blob. Using color tracking your OpenMV Cam can be programmed to do things like tracking the sun, line following, target tracking, and much, much, more. You can also use your OpenMV Cam to detect groups of colors instead of independent colors. This allows you to create color makers (2 or more color tags) which can be put on objects allowing your OpenMV Cam to understand what the tagged objects are.
You can use the OpenMV Cam to read QR Codes in it's field of view. With QR Code Detection/Decoding you can make smart robots which can read labels in the environment.
Even better than QR Codes above, the OpenMV Cam can also track AprilTags. AprilTags are rotation, scale, shear, and lighting invariant state-of-the-art fidicual markers.
The OpenMV Cam can also decode 1D linear bar codes. In particular, it can decode EAN2, EAN5, EAN8, UPCE, ISBN10, UPCA, EAN13, ISBN13, I25, DATABAR, DARABAR_EXP, CODABAR, CODE39, CODE93, and CODE128 barcodes. The OpenMV Cam can also detect and decode data matrix 2D barcodes too.
Infinite line detection can be done speedily on your OpenMV Cam at near max FPS. And, you can also find non-infinite length line segments too. Additionally, we support running linear regressions on the image for use in line following applications like the DIY Robocar at the top of this page. You can use the OpenMV Cam to easily detect circles in the image. And finally, the OpenMV Cam can also detect rectangles using our AprilTag library's quad detector code.
You can use Frame Differencing on your OpenMV Cam to detect motion in a scene by looking at what's changed. Frame Differencing allows you to use your OpenMV Cam for security applications. You can also use Optical Flow to detect translation of what your OpenMV Cam is looking at. For example, you can use Optical Flow on a quad-copter to determine how stable it is in the air.
You can use the OpenMV Cam to capture Grayscale/RGB565 BMP/JPG/PPM/PGM images. You directly control how images are captured in your Python script. Best of all, you can preform machine vision functions and/or draw on frames before saving them. You can also use the OpenMV Cam to record up to Grayscale/RGB565 MJPEG video or GIF images (or RAW video). You directly control how each frame of video is recorded in your Python script and have total control on how video recording starts and finishes. And, like capturing images, you can preform machine vision functions and/or draw on video frames before saving them.
Finally, all the above features can be mixed and matched in your own custom application along with I/O pin control to talk to the real world!