Commit Graph

1388 Commits

Author SHA1 Message Date
iabdalkader
02088a14e1 Rename set_binning to set_windowing. 2016-06-20 22:24:00 +02:00
iabdalkader
6e3580a8c2 Add checkbox to enable/disable preview/framebuffer. 2016-06-20 01:43:55 +02:00
iabdalkader
968bfde8f2 Add new smaller resolutions.
* Add 40x30, 64x32 and 64x64
2016-06-19 21:27:09 +02:00
Ibrahim Abd Elkader
6f8ca705d2 Merge pull request #142 from kwagyeman/master
Finished up optical flow code.
Note: This breaks binning, will fix later.
2016-06-19 20:42:11 +02:00
Kwabena W. Agyeman
7af818c4d8 Finished up optical flow code.
* Added pooling functions to make getting small images easy. set_binning
works too... but, it zooms in way to much. pooling functions aout you to
shrink the image while not zooming in.

* To make the pooling functions easy to use I created a version that
pools the image out of place and one that pools the image in place. The
inplace pooling function can work on the frame buffer (see edits to
sensor.c)

* I added the code to do hann windowing to the FFT lib. However, I
commented it out after it improved performance by basically zero.
Specialized windowing stuff will only come in handy for folks trying to
tune their algorithm... not in general for everything.

* I added subpixel resolution for the phase correlation code. You can
now track the image movement really precisely. Additionally, I fixed up
the displacement outputs to give expected results. I also added a QoR
output for the displacement code so that you can know when the results
are bad.

* Finally, an example script has been added to show off the features.
2016-06-18 23:05:44 -04:00
iabdalkader
6adb46e1fa Make copy_to_fb accept (x,y) offset 2016-06-17 00:31:56 +02:00
iabdalkader
2594a1e320 Add py_helper_lookup_offset. 2016-06-17 00:30:02 +02:00
iabdalkader
19367198f6 update imgs 2016-06-16 00:51:02 +02:00
iabdalkader
de5e734b0a update imgs 2016-06-16 00:50:31 +02:00
iabdalkader
d0c6bea5da update imgs 2016-06-16 00:33:43 +02:00
iabdalkader
690590d593 Update imgs. 2016-06-16 00:32:00 +02:00
iabdalkader
062ea2a849 Update imgs 2016-06-16 00:29:55 +02:00
iabdalkader
6443eff70f Update template matching script. 2016-06-15 23:43:21 +02:00
iabdalkader
76e3a77869 Reduce DS search step by one. 2016-06-15 23:41:08 +02:00
iabdalkader
7a977b5568 Reduce step size in DS search.
* Reduce DS step size instead of switching to smaller pattern.
* Makes it slower but more accurate, close to EX search.
2016-06-15 23:33:33 +02:00
iabdalkader
e40c50f739 Add diamond search for fast template matching. 2016-06-15 22:59:17 +02:00
iabdalkader
d9b03641f7 Add copy to framebuffer function and example script. 2016-06-15 21:59:36 +02:00
iabdalkader
86b038df33 Fix typo in Haar. 2016-06-15 21:04:25 +02:00
Ibrahim Abd Elkader
8f8ab088e9 Merge pull request #141 from kwagyeman/master
Fixed FFT and Phase Correlation!
2016-06-14 18:25:00 +02:00
Kwabena W. Agyeman
15aed91efd Fixed FFT and Phase Correlation!
There were some mistakes, they are fixed now. FFT 1D and 2D work
flawlessly. No problems with that code anymore.

As for phase correlation I need to study how to interpret the output
better. The function generates noisy results once you move the image too
far and I'm not quite sure if I have the code right for detecting
positive and negative displacements.
2016-06-14 00:00:27 -04:00
iabdalkader
8c8e1d08c8 Update template matching script to use binning, ROI and step. 2016-06-14 00:14:44 +02:00
iabdalkader
2767791aae Add loop step argument to template matching. 2016-06-14 00:14:22 +02:00
iabdalkader
a25e0c162e Make template matching use ROIs. 2016-06-14 00:07:54 +02:00
Ibrahim Abd Elkader
37594fb28e Merge pull request #140 from kwagyeman/master
Add FFT Code and Phase Correlation Code
2016-06-13 02:42:50 +02:00
Kwabena W. Agyeman
45fdcc973e Add FFT Code and Phase Correlation Code
The heart of the 1D FFT works. I tested this on the PC. However, 2D FFTs
may have issues and the phase correlation algorithm does not generate
the expected results. That said, most of the work is done. Stuff just
needs to be deubgged.

The FFT lib is designed to handle up to 1024 point real FFTs and 512
complex FFTs. As for 2D FFTs, we can do up to 64x64 pixels. After which,
we don't have enough RAM to handle them because they use up about 128KB
each.

Things to do... the 2D FFT needs to be verified. So, we need to run an
image through it and then back again to verify that there are no
problems. Then we need to compare the 2D FFT output with another 2D FFT
algorithm on the PC...

Once the FFTs are known to be good we then need to make sure the phase
corelation algorithm outs the correct results. We need to test that with
multiple shifted images, etc.
2016-06-12 19:55:45 -04:00
iabdalkader
f0a6892475 Cleanup template matching code. 2016-06-11 02:00:27 +02:00
iabdalkader
686718effc Minor cleanup to IDE script. 2016-06-11 01:44:57 +02:00
iabdalkader
8fac08e29e Fix integral_image_sq bug in calculating first row. 2016-06-10 00:14:41 +02:00
iabdalkader
f6ca73b5c9 Adjust iris window. 2016-06-04 01:18:12 +02:00
iabdalkader
3d31ae535d Remove old iris example. 2016-06-04 01:14:06 +02:00
iabdalkader
4b074a7044 Update iris detection script. 2016-06-04 01:11:44 +02:00
iabdalkader
46fc010514 Update iris tracking script. 2016-06-04 00:58:31 +02:00
iabdalkader
ad812b410a Update iris detection example to use binning. 2016-06-03 23:10:47 +02:00
iabdalkader
15ba6a4927 Enable binning when resolution is higher VGA. 2016-06-03 23:05:51 +02:00
iabdalkader
ee2995115f Disable auto zoom/scale factors for VGA resolution.
* Disable auto zoom/scale factors for VGA resolution on OV7725.
2016-06-03 23:04:11 +02:00
iabdalkader
440c9dc8bc Implement binning. 2016-06-03 23:01:28 +02:00
iabdalkader
48a973a586 Update release tag name 2016-06-02 21:29:10 +02:00
iabdalkader
2f707cb353 Update change log. 2016-06-01 18:41:58 +02:00
iabdalkader
318b67da42 Fix typo. 2016-05-25 03:42:57 +02:00
iabdalkader
6cae72f825 Update pinout image. 2016-05-19 11:41:05 +02:00
iabdalkader
162228562f Set serial to None after disconnecting. 2016-05-18 21:39:50 +02:00
iabdalkader
26fc0e7b4a Fix selected region for color stats, template and descriptor. 2016-05-18 21:38:32 +02:00
iabdalkader
cb2253e345 Rename copy color to show color stats. 2016-05-18 21:27:09 +02:00
iabdalkader
4428a119f4 Fix IDE copy color function. 2016-05-18 21:22:55 +02:00
iabdalkader
3dcaf69d1f Show firmware version in IDE's main window title. 2016-05-18 20:47:20 +02:00
iabdalkader
4d259d1ce6 Reset the cam just before the bootloader dialog runs.
* Allows the bootloader to run before the bootloader dialog runs.
2016-05-18 20:27:53 +02:00
iabdalkader
34ee346846 Add timer callback example. 2016-05-18 18:53:18 +02:00
iabdalkader
b0f4ebf0cd Update PWM example. 2016-05-18 18:45:25 +02:00
iabdalkader
cb0d89205e Fix pinout image.
* Swap TXD/RXD
2016-05-18 18:11:01 +02:00
iabdalkader
203b60cd36 Remove old skin_filter.py 2016-05-16 14:29:41 +02:00