OpenMV固件源码
Go to file
Kwabena W. Agyeman 5377f6f575 Add single image shadow remover code.
Calling remove_shadows() on an image without a background source of
truth image now works. However, that said, the shadow remover isn't
suitable for anything other than removing shadow on an image of concrete
flow or somthing of the like. In general, it can only remove shadows
from a scene that has nothing else in it except for a hard edge shadow.

Improving this to work for anything is about a month of work. I've
researched enough about shadow removal to now know the optimal way to do
it. However, it requires many steps and a large amount of RAM. On the H7
I may revist this as being possible.

...

In order to get the shadow remover working well I had to add a few
features to the image library and fix some of the convolution code.
These fixes will likely be more useful than the shadow removal code.

Note the addition of the new get_threshold() method. This computes
otsu's threshold on a histogram allowing you to pick the optimal color
bounds.
2018-01-28 19:33:04 -05:00
.github Update issue template 2017-10-16 15:58:54 +02:00
eagle Add Servo shield. 2017-07-29 21:34:55 +02:00
firmware Update firmware images. 2018-01-24 14:57:12 +02:00
src Add single image shadow remover code. 2018-01-28 19:33:04 -05:00
udev Fix udev rules 2017-01-17 20:34:27 -08:00
usr type correction 2018-01-25 13:15:40 +01:00
util Update to full invariant image. 2018-01-14 20:05:49 -05:00
.gitignore Update gitignore 2015-07-28 20:35:51 +02:00
.gitmodules Update gitmodules. 2016-05-05 17:28:33 +02:00
CHANGELOG.md Update change log. 2018-01-24 15:02:10 +02:00
LICENSE Update license 2014-09-20 05:09:52 +02:00
README.md Update README.md 2017-09-15 17:18:59 +02:00

OpenMV (Open-Source Machine Vision)

The OpenMV project aims at making machine vision more accessible to beginners by developing a user-friendly, open-source, low-cost machine vision platform.

OpenMV cameras are programmable in Python3 and come with an extensive set of image processing functions such as face detection, keypoints descriptors, color tracking, QR and Bar codes decoding, AprilTags, GIF and MJPEG recording and more. Additionally, OpenMV includes a cross-platform IDE (based on Qt Creator) designed specifically to support programmable cameras. The IDE allows viewing the camera's frame buffer, accessing sensor controls, uploading scripts to the camera via serial over USB (or WiFi/BLE if available) and includes a set of image processing tools to generate tags, thresholds, keypoints etc...

The first generation of OpenMV cameras is based on STM32F ARM Cortex-M Digital Signal Controllers (DSCs) and Omnivision sensors. The board has built-in RGB and IR LEDs, USB FS for programming and video streaming, uSD socket and I/O headers breaking out PWM, UARTs, SPI and I2C. Additionally, OpenMV supports extension modules (shields) using the I/O headers such as WiFi, BLE, Thermal (FIR) and LCD shields.

The OpenMV project was successfully funded via Kickstarter back in 2015 and has come a long way since then. For more information, please visit https://openmv.io