OpenMV
The OpenMV project is a low-cost, extensible, Python-powered machine vision
modules, that can be programmed to capture images/videos and save them to the
on-board uSD or stream them over WiFi. OpenMV can also do image processing
like blob detection, face detection, feature extraction and more....
The Software:
OpenMV is completely programmable in Python 3 it can execute user scripts from
the internal MCU flash or the external uSD. Python scripts have access to the
standard peripherals (SPI/I2C/UART), the uSD, the expansion shields, and of
course the image processing code. It also has a user-friendly IDE for programming
and uploading scripts to the camera.