Commit Graph

1222 Commits

Author SHA1 Message Date
Kwabena W. Agyeman
08b36f2b21 Fix typos. 2017-04-27 00:44:28 -04:00
Kwabena W. Agyeman
aa5131467e Fix UMM_Refactor Issues.
Memory allocation will grow organically now when more RAM is available.
2017-04-27 00:15:16 -04:00
Kwabena W. Agyeman
35e9f988d6 Refactor umm_malloc into it's own file.
We now have a nice and fast malloc system that easily offers 300KB+
dynamic memory... No need to use xalloc anymore except when we're
transfering objects to MP memory space.
2017-04-26 22:48:52 -04:00
Kwabena W. Agyeman
16d711ad5d Pull in upstream quirc fixes from github. 2017-04-25 21:17:12 -04:00
iabdalkader
2c4ec23244 Fix gcc2016q4 warnings.
* Fixed misleading indentation.
* Removed unused static variables.
* Disabled strict aliasing for STM DSP library.
2017-04-23 20:40:07 +02:00
iabdalkader
1fd9bf9251 Enable UART1 for OPENMV3 2017-04-23 20:32:44 +02:00
iabdalkader
6e2ba0e300 Bump firmware version. 2017-03-26 22:25:23 +02:00
iabdalkader
cab69cc64d Reverting last commit.
* Using parentheses for the logical test.
2017-03-26 21:48:59 +02:00
iabdalkader
e29d7769e6 Fix logical test error in zbar. 2017-03-26 21:41:42 +02:00
iabdalkader
3fd7c15094 Update docs. 2017-03-25 23:38:32 +02:00
Ibrahim Abd Elkader
6614d2380c Merge pull request #203 from kwagyeman/master
Image Streaming Code
2017-03-25 18:54:43 +02:00
Kwabena W. Agyeman
55e4809ff6 Image Streaming Code
The user can now call compressed_for_ide() and compress_for_ide() on an
image to make a jpeg compressed image formatted for transmission over a
data link other than USB. Note that OpenMV IDE will automatically handle
one of these compressed images ending up in the frame buffer and display
it like normal.

To send the image data the user can do:

print(img.compress_for_ide(), end='')
print(img.compressed_for_ide(), end='')
uart.write(img.compress_for_ide())
uart.write(img.compressed_for_ide())

and etc. As mentioned above, compress() compresses the image in place.
And that in place compressed image will then end up in the jpeg buffer.
OpenMV IDE will automatically handling decoding these special compressed
images when this happens.

All variations of the above code have been tested and are working.
2017-03-25 12:47:23 -04:00
Kwabena W. Agyeman
bfd048e6f3 Integrate ZBar 2/2
ZBar functionality integrated along with an example script.
2017-03-24 12:45:27 -04:00
Kwabena W. Agyeman
dab290675f ZBar Integration Part 1/2.
Main ZBar code, breaking the commit up because the main file is big.

I will refeactor UMM alloc out of apriltag.c and zbar.c once I'm
finished with this commit stream.

ZBar integration gives us support for basically all 1D linear barcodes.
2017-03-24 11:59:10 -04:00
Kwabena W. Agyeman
c6009ae05d Fixed apriltags z translation. 2017-03-21 21:01:52 -04:00
iabdalkader
fb3582b440 Remove old MAX_INT_FRAME. 2017-03-16 20:34:04 +02:00
iabdalkader
669e9ad072 Removed unused JPEG_OFFS_SIZE. 2017-03-12 19:28:14 +02:00
iabdalkader
15d6b96bed Fix py_image_get_buffer to support writing BAYER. 2017-03-12 19:25:48 +02:00
iabdalkader
4502256e19 Fix py_image assertion message. 2017-03-12 19:19:00 +02:00
iabdalkader
11abb5221b Fix framebuffer size checks.
* Delay the FB size check and corrections to snapshot(). If the frame doesn't
  fit FB it gets cropped for GS, or the sensor is switched to bayer for RGB.
2017-03-12 19:07:26 +02:00
iabdalkader
b0ed5bb7af Add Bayer sensor support. 2017-03-12 03:38:26 +02:00
iabdalkader
5615a25745 Add Bayer support in OV7725 driver. 2017-03-12 03:33:33 +02:00
iabdalkader
d330486758 Add Bayer JPEG support. 2017-03-12 03:32:20 +02:00
iabdalkader
b94182dce4 Add new RAW/BAYER pixel format to support 2BPP VGA. 2017-03-12 03:29:49 +02:00
iabdalkader
002c2894aa Add IM_GET_RAW_PIXEL 2017-03-12 02:36:52 +02:00
iabdalkader
fbc30e9736 Add missing ksize. 2017-03-09 22:46:03 +02:00
iabdalkader
e5aa66cd12 Use sep conv in ORB. 2017-03-09 22:43:24 +02:00
iabdalkader
ea7b87e866 Add separable convolution. 2017-03-09 22:43:05 +02:00
iabdalkader
040a3cb0e4 Use separable gaussian kernels. 2017-03-09 22:41:37 +02:00
iabdalkader
a4561c7efa WINC: Add support for AP mode. 2017-03-09 20:39:53 +02:00
iabdalkader
32dded64fd Use faster SPI GPIO. 2017-03-09 20:23:13 +02:00
iabdalkader
8c0e1603eb Redefine log level when CONF_WINC_DEBUG is enabled. 2017-03-09 20:22:00 +02:00
iabdalkader
096361c711 Remove headers from mp.h 2017-03-09 03:47:24 +02:00
iabdalkader
1d1eede947 Updated docs. 2017-03-07 21:35:35 +02:00
iabdalkader
6d838ff8ee Update docs. 2017-03-04 03:47:41 +02:00
iabdalkader
5e9beab3d6 Bump firmware version. 2017-02-28 18:07:39 +02:00
iabdalkader
a054b5faab Fix cascade step.
* Assumed window width == height.
2017-02-28 17:51:03 +02:00
iabdalkader
7616e487f9 Handle CTRL+D/C/A just like MP boards. 2017-02-23 15:20:14 +02:00
iabdalkader
f7c49cc01d Add CAN init0/deinit in main.c 2017-02-23 15:16:04 +02:00
iabdalkader
2934e88146 Enable CAN2 for OMV2 and OMV3 2017-02-23 15:04:04 +02:00
iabdalkader
f0a389f2cc Enable extra MP modules. 2017-02-23 02:15:04 +02:00
Kwabena W. Agyeman
1b3f444351 Add callbacks back in for emulating pixy. 2017-02-15 13:18:11 -05:00
Kwabena W. Agyeman
cd07c0d5fa AprilTags Fixes
* Made all memory allocations during the exhaustive time safe.
* Added 3D pose output from the AprilTags code.
2017-02-14 18:36:52 -05:00
Kwabena W. Agyeman
b22aadc21f QR Code Bug Fixes
Fixed typo in qrcode script. Moved scripts to new folder. Fixed roi
offset for qrcodes. Use fast functions in qrcode library.
2017-02-10 15:14:29 -05:00
Kwabena W. Agyeman
71e795812f April Tag Release Fixes
Everything works. Running out of memory is fixed and the rotation value
is valid now. For 320x240 operation on the STM32H7 we're going to need
on the order of 1 MB in the entire frame buffer. The code is designed to
handle us getting this amount of memory without any new changes for
320x240 support.
2017-02-10 13:42:35 -05:00
Kwabena W. Agyeman
443ba3bff8 AprilTags Support
Works super good.
2017-02-09 17:37:18 -05:00
Kwabena W. Agyeman
55716a632a AprilTags Main
This file includes all of the relevant header/source files from the
april tag library merged into one big file. Additionally, it also
includes heap/quicksort code. I've done the work of going through
the april tag library line by line and fixing it to use fb_alloc,
floats, and our fast math functions.

Anyway, I'm sending this massive file by itself first since it's so
big. Note that we migh in the future want to pull things out of this
file for our own use later if we need linear algebra support.
2017-02-09 17:04:08 -05:00
Kwabena W. Agyeman
c4b4a86100 Add flag for SWD programmer.
It can now check if the self-test passed.
2017-01-29 19:54:45 -05:00
Kwabena W. Agyeman
3f879ec1b3 Fixed bootloader LED 2017-01-29 19:52:24 -05:00
iabdalkader
0be2676bc1 Bump firmware version. 2017-01-21 23:39:32 +02:00
iabdalkader
3e581156da Fix LED pinout for OMV3. 2017-01-21 23:20:40 +02:00
iabdalkader
1cba92d757 Update docs. 2017-01-21 23:07:43 +02:00
Kwabena W. Agyeman
02af722fe8 Fixed fb_alloc() with mark for recently re-worked code.
I also tested the firmware for about an hour to make sure there was no
stack leak.

Note that I prefer for fb_free() to still be called versus
fb_free_till_mark() doing that for you in the code.

For functions without this fix they will just free the entire fb_alloc
stack when an exception happens. For functions with this fix they will
only free up to and including the mark. Since there are no places in the
firmware where you could start building a second fb_alloc stack when one
is already in place this point is moot currently. But, if we do
something like that in the future the problem will have already been
solved.

Any new code or re-worked code should use the mark function.
2017-01-18 18:39:08 -05:00
iabdalkader
0979ee2c0f Update MP branch 2017-01-18 04:14:11 +02:00
Ibrahim Abd Elkader
f7e04a450b Merge pull request #177 from kwagyeman/update_lens_corr
Speed up lens_corr.
2017-01-16 04:43:56 +02:00
Kwabena W. Agyeman
d6b49adefa Speed up lens_corr.
Speed up the algorithm by fixing the abs() issue. Do not use that
function in any of your code. It by itself cut the speed of the code
in half. I don't know what's in that function but I'm guessing it does
ABS of a float using ints or something.

I made the zoom parameter functional now too so you can use lens_corr to
zoom in on the image. Argument parsing is handled too. Finally, I
updated the only script where this is used.

Note that I'm able to get more than 10 FPS at 160x120 on the M4 and 15
FPS at 160x120 on the M7. Previous this was at about 5 FPS and 7.5 FPS
respectively.
2017-01-15 21:32:55 -05:00
Kwabena W. Agyeman
ed3f226478 Tested stats with examples and fixed bugs
The automatic grayscale and rgb565 color tracking scripts are very cool.
2017-01-15 14:59:42 -05:00
iabdalkader
e4c297d0e3 ORB: Use the normalized arg.
* Extract keypoints from the first scale only if normalized == True.
2017-01-15 17:40:29 +02:00
iabdalkader
bba8e5a9e0 Remove match_descriptor type arg.
* Not really needed can check MP object types.
2017-01-14 01:15:24 +02:00
iabdalkader
c9806c0588 Allow the IDE to interrupt main.py 2017-01-13 03:14:07 +02:00
Kwabena W. Agyeman
0e89b655bf Made set_windowing simpilier.
Tested with updated qr code example script.
2017-01-12 17:41:40 -05:00
iabdalkader
c28d090ee2 ORB: User floorf to get keypoint xy from scale. 2017-01-12 17:32:05 +02:00
iabdalkader
11f5d67669 Cleanup JPEG buffer checks. 2017-01-12 17:31:33 +02:00
iabdalkader
9a7c3defc3 Update JPEG buffer sizes in OMV2 and OMV3 2017-01-12 17:31:11 +02:00
iabdalkader
607db241a5 Move main memory to DTCM on M7.
* Allows bigger fb_alloc buffer
2017-01-12 17:30:24 +02:00
iabdalkader
66a7330d1e Add comment about write buffer. 2017-01-12 17:29:59 +02:00
Kwabena W. Agyeman
1025d23fe8 Add fb_alloc stack unwinding code.
Needs to be linked into MP too.
2017-01-11 23:05:59 -05:00
iabdalkader
cdef215a6e Make match_keypoints more robust.
* Check keypoints sizes.
* Handle zero matches case.
2017-01-12 04:54:40 +02:00
iabdalkader
cfdb4bdc90 Cast sin/cos to ints in draw_keypoints. 2017-01-12 04:52:50 +02:00
iabdalkader
5467993b38 Free FB memory if compress or compressed fail. 2017-01-12 04:51:21 +02:00
iabdalkader
2d201357a6 Add xalloc_try_alloc.
* Doesn't raise exception if there's no memory
2017-01-12 04:47:29 +02:00
Ibrahim Abd Elkader
e82e3ab785 Merge pull request #170 from kwagyeman/fix_compress
Fix compress and compressed.
2017-01-12 04:47:36 +02:00
Kwabena W. Agyeman
9efd7474ae Fix compress and compressed. 2017-01-11 21:21:04 -05:00
iabdalkader
819e95dc07 ORB: check if matches == 0 2017-01-12 03:46:57 +02:00
iabdalkader
a533ed3549 ORB: Fix ROI again.
* Must leave at least patch_size border.
2017-01-12 02:01:55 +02:00
Kwabena W. Agyeman
9f37c83def Minor Speed Improvements to Blob, QRCode, and Stats 2017-01-11 17:09:46 -05:00
Kwabena W. Agyeman
cf4cb787f5 Removed new_image_t, replaced with current image_t. 2017-01-10 18:26:49 -05:00
iabdalkader
5f7b40489b ORB: small fixes.
* Do Gaussian smooth on every level, can't get away with just one level.
* Fix ROI, was bigger than needed, and check roi.w/h instead of scaled image.
2017-01-10 14:49:43 +02:00
iabdalkader
e901221c52 ORB: Use popcount for distance. 2017-01-10 06:39:13 +02:00
iabdalkader
58ef87cd85 ORB: Change default threshold to 85 and min match to 5. 2017-01-10 04:11:41 +02:00
iabdalkader
cfc677ed40 Improve bootloader timing
* Detect when VBUS is connected and wait for enumeration, the IDE
  timeout is only started after enumeration.
* A 2s timeout for enumeration is used so the cam doesn't get stuck
  if it's connected to a charger or a power bank.
2017-01-10 00:58:15 +02:00
iabdalkader
d42b2987a7 Fix lookup types for find_keypoints. 2017-01-09 01:30:08 +02:00
iabdalkader
02334ebea3 Init theta. 2017-01-09 01:11:27 +02:00
iabdalkader
1ab282a7eb ORB: estimate and return the angle of rotation. 2017-01-09 00:59:33 +02:00
iabdalkader
ff6b3d8367 Change default matching threshold to 70. 2017-01-09 00:40:37 +02:00
iabdalkader
c233131ca4 Change default max_keypoints to 100. 2017-01-09 00:29:22 +02:00
iabdalkader
f1f38f3c74 FAST/AGAST: Allocate MAX_CORNERS or the actual max corners. 2017-01-08 19:05:25 +02:00
iabdalkader
b956935550 ORB: Use one array for all octaves.
* Since I'm sorting the whole array and not every octave now.
2017-01-08 18:55:14 +02:00
iabdalkader
6b7eb1a105 Add keypoints detector arg. 2017-01-08 18:40:28 +02:00
iabdalkader
05ea5115b5 Add constants for corner detectors. 2017-01-08 18:33:10 +02:00
iabdalkader
96e4f770c0 Use scale_factor instead of scale in find_features
* Updated all scripts.
2017-01-08 18:23:25 +02:00
iabdalkader
861627d61b Set default keypoint size to 10% of the image size 2017-01-08 17:53:59 +02:00
iabdalkader
dccadd7bf5 ORB, FAST, AGAST: Move keypoints sorting to higher level. 2017-01-08 17:39:55 +02:00
iabdalkader
68346372b1 ORB: Add comments. 2017-01-08 17:36:43 +02:00
iabdalkader
7fa9894bdc ORB: Add max_keypoints and scale_factor args 2017-01-08 17:35:47 +02:00
iabdalkader
9ac0d0b0dd Merge branch 'master' of https://github.com/openmv/openmv 2017-01-08 17:07:07 +02:00
iabdalkader
ee96ba1353 ORB: pre-compute umax. 2017-01-08 16:58:52 +02:00
iabdalkader
ff50b8ffb2 ORB: Don't scale the first octave 2017-01-08 16:57:41 +02:00
iabdalkader
46fd1936da ORB: Gaussian smooth the image once before keypoints extraction. 2017-01-08 16:54:52 +02:00
iabdalkader
24292d4f55 ORB: Quantize angle and fix rotation 2017-01-08 16:52:17 +02:00
Kwabena W. Agyeman
0111084125 Updated stats code
We now have a method to get an the normalized histogram of an image
patch. The histogram is returned as an object with methods too. You can
then get the stats off of the histogram or just get the CDF of it. The
CDF is particularly useful for automatically chaning the the color
tracking bounds.
2017-01-07 20:11:30 -05:00
iabdalkader
6873f17ea0 Write/read keypoint angle when saving/loading descriptors 2017-01-07 18:49:09 +02:00
iabdalkader
d653bdb136 Fix and update ORB.
* Set keypoint angle.
* More downscale levels
* Additional keypoints filter using distance ratio with second best match.
2017-01-07 18:43:38 +02:00
iabdalkader
f47b96360a Fix keypoints size. 2017-01-07 18:42:52 +02:00
iabdalkader
e06a6520a6 Remove dist from keypoints 2017-01-07 18:42:28 +02:00
iabdalkader
17cf2ca139 Skip matched keypoints. 2017-01-07 15:25:44 +02:00
iabdalkader
c758e14bcb Add angle, dist to keypoints 2017-01-07 02:44:19 +02:00
iabdalkader
9e76d775d6 Fix ORB angle calculations. 2017-01-07 02:42:32 +02:00
iabdalkader
6000684cb3 Fix keypoint drawing code. 2017-01-07 02:35:18 +02:00
iabdalkader
ea047bde94 Clean up AGAST. 2017-01-07 02:34:05 +02:00
iabdalkader
e2b5338dc8 Fix fast_alloc point 2017-01-06 19:41:22 +02:00
iabdalkader
a1c3061c1b Optimize keypoints_filter. 2017-01-05 17:01:42 +02:00
iabdalkader
00c30204ee Add rectangle_expand for bounding boxes. 2017-01-05 16:02:47 +02:00
iabdalkader
945a83c789 Add keypoints filtering function.
* This function filters keypoints far from the centroid, it's very useful for finding an accurate bounding box for an object.
  If a bounding box for the object is not needed, the centroid can be used instead since it's not affected too much by outliers.
* The filter finds the centroid of all the previously cross-matched keypoints then finds the mean, variance and standard deviation,
  it then filters keypoints with a distance higher than standard deviation from the centroid.
2017-01-05 05:35:57 +02:00
iabdalkader
f7a8167ce4 * Multiply by octave when clustering ORB points. 2017-01-05 03:35:43 +02:00
iabdalkader
e0b8d0d66d Fix ORB keypoints hamming distance.
* Used the wrong hamming for 4 points.
2017-01-05 01:53:04 +02:00
iabdalkader
e2d0c48401 Replace FREAK with ORB.
* New keypoints descriptor, much better implementation than FREAK.
2017-01-04 05:44:06 +02:00
iabdalkader
d7a223b136 Revert to FAST9 2017-01-03 20:43:27 +02:00
iabdalkader
cf1407cb48 Add AGAST corner detector. 2017-01-03 20:36:08 +02:00
Kwabena W. Agyeman
8dfba8b208 Fixed copy_to_fb for loading images. 2017-01-03 12:25:23 -05:00
iabdalkader
517ab14f40 Clean FB_PIXELS macro.
* No need to check BPP anymore.
2017-01-02 18:37:01 +02:00
iabdalkader
0bb431118b FAST improvements.
* Use all available FB memory to allocate corners.
* Limit the number of max keypoints to 150.
2017-01-02 03:15:16 +02:00
iabdalkader
942ddc5602 Make the lens correction function use less ram.
* Make lens_corr function work with 1/2 the ram needed.
2017-01-01 19:35:21 +02:00
iabdalkader
1b22a29612 Add set_gain/exposure/whitebalance functions.
* Add functions to disable auto functions control and set manual values.
2016-12-29 03:39:06 +02:00
Kwabena W. Agyeman
fbc58cf137 Updated QR Code Library with upstream changes and fixed up scripts for
demo.
2016-12-28 10:57:31 -05:00
Kwabena W. Agyeman
af15ec6eb3 New Blob Code
The new API is backwards compatible with the previous one except for
advanced features. The new blob code uses a flood fill algorithm that is
3x faster in filling out blobs that the previous code. On the M7 the
performance cap of 30 FPS is usually reached.

Additionally, blobs are objects with named attributes now so you don't
have to index access them anymore. However, index access is still
supported.
2016-12-27 19:10:24 -05:00
Kwabena W. Agyeman
6a8ce01e79 Add QRCode detection.
Use the qrcodes script and point your OpenMV Cam at google search
results for QR Codes.
2016-12-27 15:30:35 -05:00
Kwabena W. Agyeman
b668ac7e17 Add collections. 2016-12-27 14:04:30 -05:00
Kwabena W. Agyeman
ba04ff80bd Better Image Lib Primatives 2016-12-27 12:42:47 -05:00
iabdalkader
6480ecfc1a Update docs 2016-12-26 23:04:03 +02:00
iabdalkader
fd384bf1b0 Export OV7725's lens shading correction function. 2016-12-25 02:45:05 +02:00
iabdalkader
ac026d0b91 Fix F7 ADC support 2016-12-22 01:25:22 +02:00
iabdalkader
3ff0039bb8 Clean/Invalidate the M7 cache in the DMA driver. 2016-12-20 23:58:51 +02:00
iabdalkader
be95596e3a Fix OV7725 register name. 2016-12-20 22:25:30 +02:00
iabdalkader
1645ab94b2 Allow image loading directly to FB.
* Allows bigger images to be loaded to FB.
2016-12-14 18:44:23 +02:00
iabdalkader
cafddfed17 Redefine CFLAGS MCU_SERIES in the top Makefile.
* Make sure the MCU_SERIES is defined if MP config files are included outside MP build.
2016-12-14 13:55:53 +02:00
iabdalkader
0f9456fd37 Use WFI while waiting for snapshots. 2016-12-13 21:57:10 +02:00
iabdalkader
274f9bc445 Disable DCMI LINE in DCMI_Init.
* This disables the line interrupt before the first frame.
2016-12-13 21:43:22 +02:00
iabdalkader
edb1eca109 Revert to an older F7 DMA driver.
* The new DMA drivers (>v1.0.1) don't work yet.
2016-12-12 22:51:49 +02:00
iabdalkader
75e48c411d Reverted num of EXTI to 24 for M7 2016-12-11 02:46:09 +02:00
iabdalkader
177f24767b Enable additional GPIO ports for STM32F769xx only 2016-12-10 22:32:52 +02:00
iabdalkader
3e41450d97 Add support for OpenMV3 2016-11-27 19:32:09 +02:00
iabdalkader
b4aeb32e1b Add build option to enable stack protection. 2016-11-15 19:07:50 +02:00
iabdalkader
daf2527c0f Remove IDE/FS interrupt enable in pyexec. 2016-11-15 19:05:18 +02:00
iabdalkader
890d27d1dd Cleanup USBDBG code. 2016-11-15 18:53:34 +02:00
iabdalkader
a3a1f0cfb9 Disable line interrupt.
* saves the overhead and fixes the additional line generated at the end of the frame.
2016-11-14 23:42:51 +02:00
iabdalkader
b421022ef9 Bump firmware version. 2016-11-04 00:17:18 +02:00
iabdalkader
ae10b0a40e Switch to FAST-12 2016-11-03 23:57:16 +02:00
iabdalkader
615364101f Fix template ROI when T and F have the same size. 2016-10-17 21:56:09 +02:00
iabdalkader
199a0d0f63 Make functions return arg image to string operations. 2016-10-17 21:33:47 +02:00
iabdalkader
dfde3f4c71 Use socket->timeout for functions that can block. 2016-10-11 00:09:58 +02:00
iabdalkader
fdf0b96270 Add clear image function.
* Sets image pixels to 0's.
2016-10-10 17:22:26 +02:00
iabdalkader
ef6e6303c7 Add HoG. 2016-10-10 17:22:04 +02:00
iabdalkader
60dc3f7e91 Remove ToF module. 2016-10-10 16:53:02 +02:00
iabdalkader
b6c4f9b873 Fix ToF module SPI code.
* Note the module will be removed in the following commit,
  I'm committing fixes anyway, if the module is needed later it can be restored.
2016-10-10 16:41:45 +02:00
iabdalkader
2faa9d9bcf Fix socket_recv bug.
* recv returned the call status not the sent bytes.
2016-10-09 23:13:15 +02:00
iabdalkader
fedd1f2fe4 Add missing lens_corr prototype 2016-09-24 01:57:57 +02:00
iabdalkader
14b6330b67 Add simple lens correction function. 2016-09-23 18:46:11 +02:00
iabdalkader
af24644f87 Remove match pointer from keypoint struct. 2016-09-23 18:44:23 +02:00
iabdalkader
6beb89c6e6 Fix image.gaussian return object. 2016-09-23 18:25:19 +02:00
iabdalkader
926be29c43 Bump firmware version. 2016-09-20 01:17:53 +02:00
iabdalkader
f55c9b48eb Add gaussian function. 2016-09-20 01:03:22 +02:00
iabdalkader
7b3d2d931e Move image kernels to imlib.c 2016-09-20 01:02:51 +02:00
iabdalkader
91bc9af3ec Allow FREAK keypoints to be clustered using kmeans. 2016-09-20 00:08:59 +02:00
iabdalkader
0950d6e52a Update Kmeans.
* Small fixes with arrays handling.
* Add generic distance function.
2016-09-16 03:31:34 +02:00
iabdalkader
6591558af4 Init RNG when calling randint. 2016-09-16 03:30:08 +02:00
iabdalkader
e81f228796 Add simple edge function. 2016-09-14 20:54:53 +02:00
iabdalkader
51f1605aee More fixes to Canny edge.
* Clear output border
2016-09-13 17:53:53 +02:00
iabdalkader
0be9e958a1 Small fix to Canny.
* Threshold gradients before nonmaximal suppression.
2016-09-13 13:15:01 +02:00
iabdalkader
e104be63df Implement Canny edge detector. 2016-09-13 02:37:43 +02:00
iabdalkader
49124b4e8c Add py_helper_lookup_int_array. 2016-09-13 01:59:32 +02:00
iabdalkader
83451de050 Add Hough Transform. 2016-09-12 22:16:58 +02:00
iabdalkader
217b3a8dd4 Rename FFT sin/cos table to avoid conflict with generic tables. 2016-09-11 17:05:35 +02:00
iabdalkader
f5e1028786 Add sin/cos tables. 2016-09-11 17:01:53 +02:00
iabdalkader
f908da8d5a Make FFT sin/cos tables static. 2016-09-11 16:59:42 +02:00
iabdalkader
627d81f569 Add imlib mask_ellipse. 2016-09-08 03:12:14 +02:00
iabdalkader
9153325c06 Fix LBP for face recognition.
* Rollback to 7x7 windows.
* Use chi square for distance with weights optimized for facerec.
2016-09-08 01:29:17 +02:00
iabdalkader
8cdf53d3fb Return arg image in histeq. 2016-09-04 21:33:41 +02:00
iabdalkader
21920eaa06 Bump firmware version. 2016-08-31 02:45:06 +02:00
iabdalkader
0653f49bde Set max FPS reduction to 1/2 FPS (30FPS).
* A compromise between FPS reduction and noise level (in night mode).
2016-08-31 01:41:34 +02:00
iabdalkader
bdafca5a78 Set default gain ceiling to 8x 2016-08-31 01:37:43 +02:00
iabdalkader
2fa4a67a96 Cleanup debug log. 2016-08-30 22:46:08 +02:00
iabdalkader
bb93be6da0 Use debug_printf in winc module. 2016-08-30 22:43:35 +02:00
iabdalkader
2877225003 Remove mdefs.h 2016-08-30 22:43:06 +02:00
iabdalkader
faf79007c9 Add DEBUG_PRINTF flag 2016-08-30 22:37:22 +02:00
iabdalkader
b665c65ed6 Rename mdefs.h to common.h 2016-08-30 22:37:04 +02:00
iabdalkader
f200f2e0b8 Set WINC SPI baudrate. 2016-08-30 01:09:49 +02:00
iabdalkader
f4907e6603 Up WINC SPI speed 2016-08-30 01:02:26 +02:00
iabdalkader
ed9133e447 Cleanup sockets error handling. 2016-08-30 00:55:51 +02:00
iabdalkader
60714b339c Clean up async request code. 2016-08-29 21:49:16 +02:00
iabdalkader
8541c3c2ca Fix WINC accept info. 2016-08-28 18:22:05 +02:00
iabdalkader
5d92001f75 Cleanup WINC line endings. 2016-08-28 17:52:07 +02:00
iabdalkader
813a2e6e6a Fix WINC socket_send.
* Check sent bytes returned from async request.
2016-08-28 17:51:42 +02:00
iabdalkader
014847da5d Bump firmware version. 2016-08-25 19:26:20 +02:00
iabdalkader
fa65054815 Update firmware version. 2016-08-25 19:08:41 +02:00
iabdalkader
3cde9f9260 Revert to old FS caching. 2016-08-24 22:31:46 +02:00
iabdalkader
4b07286284 Update colorbars test.
* Invert colorbars for OV7725.
* Increase colorbars thresholds.
2016-08-23 22:37:47 +02:00
iabdalkader
2ad2418d61 Enable DSP colorbar for OV7725.
* Enabling DSP colorbar outputs solid colorbars without an image,
  which makes the colorbars test run better.
2016-08-23 22:30:18 +02:00
iabdalkader
e88c344028 Use the same serial number used in bootloader. 2016-08-22 23:03:58 +02:00
iabdalkader
d93661aa03 Set heap back to 54K. 2016-08-22 23:03:42 +02:00