Commit Graph

1174 Commits

Author SHA1 Message Date
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
c43906eb3d Fix FREAK's mean_intensity function.
* Using imlib_integral_lookup for lookups.
* Rounding errors caused the patch not be rectangular.
2016-02-26 01:47:22 +02:00
iabdalkader
074cf9d5e4 Add pointer to matching keypoint to kp_t struct.
* This way we don't need to allocate the array of matching keypoints
and risk running out of memory due to fragmentation. So all or nothing.
2016-02-26 01:44:23 +02:00
iabdalkader
1b27383c9d Allocate kpts until GC is almost out of memory
* Keep allocating keypoints until GC is out of memory.
2016-02-26 00:50:46 +02:00
iabdalkader
5ff5419bf1 Return empty list if no blobs were found.
* Fixes #81
2016-02-26 00:47:31 +02:00
iabdalkader
3e4c2c2f3b Fix keypoint bug.
* Set keypoint descriptor to zero, bug was introduced when switching to arrays.
2016-02-26 00:26:37 +02:00
iabdalkader
b15c0c6bc0 Fix formatting. 2016-02-26 00:26:20 +02:00
iabdalkader
5c6056f875 Add file format strings 2016-02-25 11:52:10 +02:00
Ibrahim Abd Elkader
f175c08e0c Merge pull request #80 from kwagyeman/master
Fix swap bug.
2016-02-25 02:09:26 +02:00
Kwabena W. Agyeman
d8ac8f9408 Fix swap bug.
The code clearly did not swap mins and maxes.
2016-02-24 19:07:57 -05:00
iabdalkader
f34a7e30d7 Use fb_alloc to allocate corners.
* Leaves more heap memory for keypoints.
2016-02-24 06:30:14 +02:00
Ibrahim Abd Elkader
70ed5c0f81 Merge pull request #79 from kwagyeman/master
Add top level file open function.
2016-02-24 05:27:27 +02:00
Kwabena W. Agyeman
4df0b5044b Add top level file open function.
Fimrware will now automatically detect the appropriate file type and read
in that file type correctly.

Working on tying on of this stuff togheter next. It's getting a little
bit too complicated to deal with error cases. Need to add error message
function layer.
2016-02-23 21:26:43 -05:00
iabdalkader
c3936f4322 Fix FAST/FREAK ROI. 2016-02-24 00:38:48 +02:00
iabdalkader
4d7db778fb Remove angle from keypoint.
* Not really used right now and saves 4 bytes per keypoint.
2016-02-23 20:43:33 +02:00
iabdalkader
3a747ef952 Use arrays in FAST/FREAK keypoints.
* Using arrays for FAST/FREAK keypoints, this saves some memory
allocated for intermediate data.
2016-02-23 18:19:49 +02:00
iabdalkader
7a22cb3e5c Extract keypoints in one step.
* Make find_keypoints extract FAST keypoints.
2016-02-23 00:55:54 +02:00
iabdalkader
93d3885a3c Set keypoints threshold range between 0 and 100. 2016-02-22 20:31:24 +02:00
iabdalkader
9d02e2a42a Make match_lbp accept roi and extract second LBP. 2016-02-22 19:41:16 +02:00
iabdalkader
473b8025bf Fix assertion in find_features. 2016-02-22 19:39:26 +02:00
iabdalkader
015181588a Fix assertion in find_features. 2016-02-22 19:35:11 +02:00
iabdalkader
ddcb170af0 Cleanup py_image.c
* Code cleanups in py_image.c
2016-02-22 19:17:14 +02:00
iabdalkader
124a31772c Rename helper functions. 2016-02-22 18:47:35 +02:00
iabdalkader
5860695f5d Move helper functions to new files. 2016-02-22 18:41:50 +02:00
iabdalkader
0f48c12a89 Replace all mp_map_lookup()s with helper functions. 2016-02-22 18:35:00 +02:00
iabdalkader
4bcdb251a3 Update MP branch 2016-02-22 18:02:59 +02:00
iabdalkader
93dc73c7f2 Fix arg to get_rectangle_kw. 2016-02-22 18:00:20 +02:00
iabdalkader
4c63721efa Use default roi when calling save_image 2016-02-22 17:55:26 +02:00
Ibrahim Abd Elkader
2ac623ad1a Merge pull request #78 from kwagyeman/master
Optimize grayscale reading/writing.
2016-02-22 04:31:17 +02:00
Kwabena W. Agyeman
901716b878 Made grayscale read/writing fast.
RGB565 reading and writing is going to be slow. But, grayscale is going
to be going as fast as the system can go.

If Omnivision has just reversed the byte order of data sent to the
camera we wouldn't have this problem for RGB565.
2016-02-21 21:24:57 -05: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
4e5b200bdf Make keypoints_match return the % of matching kpts.
* Change keypoints_match to return the percentage of matching keypoints.
2016-02-22 03:31:15 +02:00
Ibrahim Abd Elkader
1e4678ccd7 Merge pull request #77 from kwagyeman/master
Add BMP and P2/3/5/6 file format support.
2016-02-22 00:32:35 +02:00
Kwabena W. Agyeman
ccd6078c04 Add BMP and P2/3/5/6 file format support.
Added BMP file format reading and writing support code and modified the
ppm code to match. Upper level glue code has been left intact to be
altered in future commits.

Tested save() and ppm writing functionality still works. More
comprehensive tests coming soon.

... Kinda concerend that standard image file formats might not cut it for
the speed we'd like to have when using image files in function calls. I
think only grayscale is going to be fast. All other formats require a
lot of prep work.

I think I may modify some of this low level stuff in the future to
autodetect if an entire grayscale image can be read in or written out
in one go to speed that stuff up.
2016-02-21 17:24:32 -05:00
iabdalkader
43dc87d43e Fix HQVGA resolution. 2016-02-21 23:05:07 +02:00
iabdalkader
8d4131426d Update face, eye and iris detection scripts. 2016-02-21 23:04:31 +02:00
iabdalkader
032a6e3e4d Make Haar detector work on ROIs. 2016-02-21 23:01:34 +02:00
iabdalkader
1d4b95353a Fix Iris bounding box. 2016-02-21 22:39:14 +02:00
iabdalkader
baee885cd4 Update eye detection Python script. 2016-02-21 20:39:48 +02:00
iabdalkader
50e53c91bc Change Iris detector to work on a single region.
* This allows the detector to work on ROIs detected by the eye Haar
  cascade, which improves the accuracy and speed of the detection.
2016-02-21 20:38:01 +02:00
iabdalkader
e18058f27c Update MP branch.
* Add new qstrs.
2016-02-21 03:46:17 +02:00
Ibrahim Abd Elkader
b1e3958df3 Merge pull request #76 from kwagyeman/master
Add frame differencing functions.
2016-02-21 03:45:31 +02:00
Kwabena W. Agyeman
c3cfb117d0 Add frame differencing functions.
The negate function gives you the ability to negate an image before
running difference on it. The difference function will subtract two images
from each other and return the abs() of the result.

I believe it would have been optimal to work on the RGB565 image in the
LAB color space. However, since we don't have an inverse LAB lut this is
not possible. If we could replace LAB with YUV then that would free up
space to have an inverse YUV table (YUV->RGB).
2016-02-20 20:29:19 -05:00
Ibrahim Abd Elkader
ba62fddd00 Merge pull request #75 from kwagyeman/master
Fix draw_keypoints and add drawing examples.
2016-02-21 02:16:44 +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
iabdalkader
767b0d99b9 Update MicroPython branch 2016-02-20 20:12:02 +02:00
Ibrahim Abd Elkader
a31c1553f9 Merge pull request #74 from kwagyeman/master
Add binary image functions.
2016-02-20 20:11:10 +02:00
Kwabena W. Agyeman
0606f5be44 Added binary image functions.
Pixels, centroid, orientation, along with the basic binary tool kit
functions like and/or/xor.
2016-02-20 11:46:26 -05:00