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