Commit Graph

293 Commits

Author SHA1 Message Date
iabdalkader
65ddf182b1 Update pin-out image. 2016-03-15 00:03:33 +02:00
iabdalkader
6136bd04e1 Try to connect a few times before giving up.
* Fixes the connect button hang issue.
2016-03-11 03:37:35 +02:00
Kwabena W. Agyeman
66248c444b Update Gif to use fb_alloc_all.
And tested it along with mjpeg to make sure all this stuff is good. I
also see the issue with QQVGA now. That just appeared.
2016-03-05 22:29:21 -05:00
Kwabena W. Agyeman
5316b26d83 Added a new mjpeg module for Mjpeg support.
The built-in mjpeg module allows you to record videos seamlessly. It
will automatically compress the frame buffer using the extra space in the
main ram. So... you don't have to pass it jpeg images. Gets 7 FPS at
320x240 while connected to the computer too (it has to compress the
frame twice in this situation).

Anyway, the module work like Gif.
2016-03-05 20:03:48 -05:00
Kwabena W. Agyeman
9325029675 Add support for color gif.
Color gifs look very good for how bad you'd expect them to be with just
7 bits of color (rgb232) - quite amazing. Also, I  hardened the gif
module to make it "user ready".
2016-03-04 23:30:01 -05:00
iabdalkader
596cdf527c Lower the text buffer polling rate. 2016-03-02 04:02:27 +02:00
Kwabena W. Agyeman
98f4dde21f Add new morph function.
The morph function lets you convolve the image with a kernel. It's
decently fast right now. But, in the future we'll have to optimize it by
a lot (unrolling loops, using SIMD instructions, etc.).

Anyway, along with morph I added an edge detection test script showing
how you can use a high pass filter on an image to get all the edges in
it. This is not as good as canny edge dection... but, it's about the
same and fast enough.

We'll need a Hough Transform system in the future to make edge dection
useful. Not sure how that will be implemented... so, that's going to be
far away for now.
2016-02-29 18:04:45 -05:00
Kwabena W. Agyeman
fb8b357c24 Dilate and errode working.
The old code did not actually implement the errode anhd dilate kernels
correctly. However, it migh have been a little faster because it avoided
the boundary problem.

In the future we can optimize all the kernel code to have different loops
for doing the edges of image versus the center. But, for now, this is
good enough. QVGA color tracking with kernels will be slow, but, the
speed can be improved with QQVGA resolution. Using a 3x3 kernel is
plenty fast. Larger ones are slower.

I also added the ability for you to set the threshold for erode and
dialte. This lets you make the kenrel a little bit smarter so that it
won't errode or dilate a pixel unless the threshold is met. Meaning,
you'll be able to use erode to erode an image down to 1 pixel wide
lines.
2016-02-28 16:27:49 -05:00
iabdalkader
052d64e79c Set frame size to QQVGA in gif script. 2016-02-28 21:37:23 +02:00
iabdalkader
2e7ded5dd4 Add GIF module 2016-02-28 21:34:47 +02:00
iabdalkader
b40c07c75d Add BLE example. 2016-02-28 04:12:56 +02:00
iabdalkader
955856488c Add profile face XML cascade 2016-02-28 04:09:39 +02:00
iabdalkader
0aed3f4961 Add image filters example. 2016-02-28 04:07:28 +02:00
iabdalkader
c050509b9d Update descriptor scripts.
* Use the new match_descriptor.
* Add commented line that loads descriptor from file
2016-02-28 03:56:02 +02:00
iabdalkader
08f7cb8832 Add LBP descriptor example script 2016-02-28 03:51:57 +02:00
Kwabena W. Agyeman
4ed49082a1 Background Subtraction is working!!!
Woot, all the effort to make it so you can manipulate the image buffer
with an image off disk works!

Try out the motion_detection script.
2016-02-27 11:58:37 -05:00
Kwabena W. Agyeman
1121a6f7df Fixed save image.
It now figures out the file type from the file extension. If no file
extension is given it just saves the file as BMP if its not a JPEG image
or JPEG if it's a JPEG image. If you specify an extension and the file is
not of that type then it will give you an error.

The new test_save.py should run until you reach the JPEG image part
where it quits due to lack of JPEG support natively on OV7725 boards.
Maybe JPEG mode should be supoorted by just compressing pictures?
2016-02-26 22:00:04 -05:00
iabdalkader
8b87656241 Update kpts script.
* Draw FPS on framebuffer
2016-02-26 23:14:32 +02:00
iabdalkader
f66757f264 Fix ROI size sent from IDE.
* Rectangle was changed from int to short.
2016-02-26 03:03:29 +02:00
iabdalkader
84e2e1fa0d Update keypoints scripts. 2016-02-26 03:03:08 +02:00
iabdalkader
9f7b370b0e Update face_tracking script.
* Search for new keypoints within a detected face.
* Draw based on matching percentage of keypoints.
2016-02-22 03:32:32 +02:00
iabdalkader
8d4131426d Update face, eye and iris detection scripts. 2016-02-21 23:04:31 +02:00
iabdalkader
baee885cd4 Update eye detection Python script. 2016-02-21 20:39:48 +02:00
Kwabena W. Agyeman
140ceb3b77 Fixed bug in centroid and added tests.
Stuff works. Yay! Moving on to other things now.
2016-02-20 16:04:59 -05:00
Kwabena W. Agyeman
88d9c02a1b Draw keypoints now accepts lists.
Made draw keypoints accept lists of (x, y, angle) tuples. I did this so
it could be used to show object rotation easily.
2016-02-20 16:04:59 -05:00
Kwabena W. Agyeman
b01adfee26 Fixed up drawing code and scripts along with drawing code.
Set pixel works too now.
2016-02-19 22:55:50 -05:00
Kwabena W. Agyeman
a035aae493 Fixed set pixel. 2016-02-19 21:05:02 -05:00
iabdalkader
c4c25c70d9 Fix Enable/Disable JPEG 2016-02-19 18:10:04 +02:00
iabdalkader
19450b8810 Update Python examples 2016-02-19 18:03:20 +02:00
Kwabena W. Agyeman
b27dfde61f Remvoed set pixel code for now. 2016-02-18 23:02:15 -05:00
Kwabena W. Agyeman
bcd5151412 New drawing functions.
All the drawing functions have been updated to handle automatic clipping
when drawing offscren and work with both grayscale and RGB565.
Additionally, all functions now accept color arguments.

I've also updated the example scripts with the new functions and tested
them out to make sure they work.

Additionally, I wrote a test suite for the drawing functions to make
sure they work.
2016-02-18 22:40:12 -05:00
iabdalkader
7f9e95fdd5 Add enable/disable JPEG to preferences dialog. 2016-02-18 05:10:10 +02:00
iabdalkader
6b52c82e39 Add find face+eyes example script 2016-02-17 22:35:29 +02:00
iabdalkader
6b5cdce4aa Update face detection example 2016-02-17 22:09:02 +02:00
iabdalkader
dd7c8809a3 Update MLX Python script. 2016-02-10 17:35:40 +02:00
iabdalkader
dbd69a3a25 Remove framebuffer locking.
* Not needed anymore.
2016-02-09 01:11:25 +02:00
iabdalkader
05144b63b1 Make the IDE handle older FW versions. 2016-02-06 20:10:16 +02:00
iabdalkader
b61ac5f067 Display the correct IDE version. 2016-02-06 19:32:02 +02:00
iabdalkader
eb97a51183 Fix the ABI version to avoid breaking older IDE's 2016-02-06 19:19:55 +02:00
iabdalkader
51390c9326 Update version mismatch error 2016-02-06 18:07:09 +02:00
iabdalkader
cf641af6b0 Add command to return script running flag.
* Return script running flag to disable/enable execute and stop buttons.
* Up ABI version
2016-02-06 17:59:52 +02:00
iabdalkader
cc312c3a53 Draw the last frame when fb is not ready. 2016-02-06 16:11:30 +02:00
iabdalkader
1d932b0b5a Update MLX python scripts 2016-01-25 23:53:46 +02:00
iabdalkader
3eddaa5c10 Update MLX example 2016-01-25 22:32:46 +02:00
iabdalkader
7bccf220c4 Add MLX-LCD example. 2016-01-18 19:34:06 +02:00
iabdalkader
f28d3f6235 Update MLX example 2016-01-18 19:29:50 +02:00
iabdalkader
4ba640a842 Uncomment sensor.reset in blob_detection example 2015-10-04 00:29:20 +02:00
iabdalkader
fc2a5bb1c7 Use python2 to run openmv.py, pydfu.py and openmv-ide.py 2015-10-03 23:53:03 +02:00
iabdalkader
8fd4ea6d16 Add pinout dialog to Help menu. 2015-10-01 23:51:00 +02:00
iabdalkader
f45128955f Move serial port opening to openmv.py 2015-09-27 23:41:25 +02:00