sz
93405b0878
This should be a copy
2020-07-08 03:28:31 -05:00
sz
915c2fdc2f
A little experiment to see if we can get the *scan* to fail on merged frames
...
Sometimes we catch a partial redraw from the android camera -- it would
be nice to either:
A. detect up front, and discard by failing the scan (meaning we don't
have to burn cycles+heat on a hopeless decode)
B. be able to salvage part of an image (i.e. multi-part interleave)
This represents option A...
2020-07-08 00:01:21 -05:00
sz
847ee99937
Use getUMat()
2020-07-06 23:41:07 -05:00
sz
ad3c75362c
and the main cimbar example binary.
...
Updating decoder params to match ecc=64 for now.
2020-07-06 21:44:20 -05:00
sz
bea14f758d
Not sure if this is enough, but the undistort is opencl aware? maybe?
2020-07-06 21:43:51 -05:00
sz
4f5c1d47c5
Use the opencv "TAPI" (cv::UMat) for opencl/GPU(?) support
...
It's hard to tell if it actually helps.
2020-07-06 21:41:20 -05:00
sz
afcd1fe85e
Back out CIE76??
2020-07-02 17:13:58 -05:00
sz
41396fcce9
Small fixes
2020-07-01 21:06:51 -05:00
sz
b18d971493
Test checkpoint
2020-07-01 18:27:16 -05:00
sz
caa9ebc9c4
Need tests, but this is the idea for the flood-fill style decode
2020-06-30 23:42:07 -05:00
sz
19ecbf97a9
WIP, split out logic for cell positions + decode
...
vs cell positions + encode.
Might be a better way to refactor this...
2020-06-30 22:13:32 -05:00
sz
22986be0c7
Checkpoint -- have CimbReader return the current tile index
2020-06-30 19:19:14 -05:00
sz
26df87b623
Make ScanState header-only
2020-06-30 18:35:54 -05:00
sz3
cde4bd8172
Merge pull request #7 from sz3/video
...
Add `cimbar_video`, a tool to create a window of continuously updating fountain cimbar codes
2020-06-27 02:25:27 -05:00
sz
9c12f7068d
Break tests, propagate t2 scan results forward.
...
Also, make default skip scale by image size.
2020-06-27 00:51:32 -05:00
sz
30c818341e
Fix: only merge anchors if they're close in size.
...
The practical consideration here is that we don't want erroneous
detections (which will tend to be tiny) to "move" our real (large)
anchor points.
2020-06-26 23:36:16 -05:00
sz
7328016e70
Be smarter about detecting the window close
2020-06-26 23:34:16 -05:00
sz
bd1a674154
Add some logic to let us bail early from the encoder
...
(useful for cimbar_video)
2020-06-25 01:36:43 -05:00
sz
b12615012d
Add `cimbar_video` exe to generate frames to screen on the fly.
...
Uses opencv's imshow, allows variable framerate.
2020-06-25 01:11:01 -05:00
sz3
a1c3eac7b8
Merge pull request #6 from sz3/undistort-harder
...
Naive undistort algorithm + updating lots of tests
2020-06-17 22:32:16 -05:00
sz
aa99a3fb1a
Merge remote-tracking branch 'origin/master' into undistort-harder
2020-06-17 22:27:31 -05:00
sz3
c69efbdb2c
Merge pull request #5 from sz3/interleaving
...
Interleave data chunks, so error correction has more uniform noise to deal with
2020-06-17 22:26:16 -05:00
sz
151308585c
Merge remote-tracking branch 'origin/master' into interleaving
2020-06-17 22:25:55 -05:00
sz3
8021e6673c
Merge pull request #4 from sz3/colors-and-tweaks
...
Colors and tweaks
2020-06-17 22:15:17 -05:00
sz
d0c8d52661
Fix more tests, use newer samples
2020-06-17 22:00:10 -05:00
sz
6cbb9cac5d
Update more tests
2020-06-17 21:43:40 -05:00
sz
fa3030294f
Minor test fix
2020-06-17 21:25:51 -05:00
sz
e0f36cae69
Update/improve tests.
...
Use new samples, check outputs (w/ imagehash) instead of logging to tmp
+ manual verification, add a MakeTempDirectory class to clean up stuff,
etc
2020-06-17 21:11:15 -05:00
sz
e4b02d4a85
Switch fountain encoding to use 2-byte blocks, because...
...
...this is the current wirehair limitation anyway.
Also added some test cases!
2020-06-17 18:50:26 -05:00
sz
75e88a6d72
Current test case for an observed earth-shattering kaboom
...
wirehair_decode() will sometimes seg fault if you give it the same frame
too many times. This is probably not intended behavior?
For now, a workaround (keep track of what we've given it)
2020-06-15 20:26:01 -05:00
sz
9cd315c54b
Add another test?
2020-06-12 23:28:38 -05:00
sz
b354425d48
Merge branch 'undistort-harder' of github.com:sz3/libcimbar into undistort-harder
2020-06-12 21:20:58 -05:00
sz
f3472a2789
Maybe not necessary now?
2020-06-12 21:20:24 -05:00
sz
addf2ae36e
ok clang
2020-06-12 20:59:24 -05:00
sz
f0a996b5a5
Match `cv::undistort`'s internal implementation.
2020-06-12 20:20:52 -05:00
sz
488f9a29ae
Split undistort into initUndistortRectifyMap + remap.
...
SPEEED
2020-06-12 20:13:16 -05:00
sz
09df51b6aa
The class changed
2020-06-12 19:17:40 -05:00
sz
ddaa279a74
Merge remote-tracking branch 'origin/cleverer-scaling' into undistort-harder
2020-06-12 19:14:41 -05:00
sz
342bb4881b
Use smallest ratio instead of average?
...
Running risks of hacks on hacks losing the plot, but OTOH, gotta get it
working first.
Also, we need to not fail outright if the undistort can't get params.
2020-06-12 19:13:59 -05:00
sz
17c5ede28f
Plug undistort into the test cimbar program
...
Apparently we can't run cv::undistort(img, img) without opencv getting
mad... except we can in tests(???)
Anyway, uh, make a copy I guess.
2020-06-11 22:08:46 -05:00
sz
6abce8dece
WIP for hack-y undistort.
...
Basic premise: opencv camera calibration seems to require everything
short of animal sacrifice to get working correctly, and that's not
particularly viable for a cell phone app. The "right answer" is probably
a database of precomputed cameras+distortion matrices, but that's also
out of scope for right now. So: hax
Have some off-by-one errors (or discrepancies) in the Scanner which
compound through the edge detection and into the calibration. We'll see
how bad that is.
2020-06-11 20:00:37 -05:00
sz
e15bf90926
Using floats (double) for more of the edge calculations...
...
More precision is probably better?
2020-06-11 17:36:55 -05:00
sz
0082a8f5cc
Quick and dirty template-ing of point<> to give us floating point math
2020-06-11 01:23:29 -05:00
sz
32ad946212
Update tests (remove many examples -- various things changed)
2020-06-11 00:30:26 -05:00
sz
75a6dd1a78
WIP: bring over python edge scan code
2020-06-11 00:13:34 -05:00
sz
2fe93bac98
Quick note
2020-06-10 17:53:25 -05:00
sz
1be6d973e9
Had the wrong size in BadChunk :|
2020-06-06 02:19:53 -05:00
sz
16e18435c9
Various tests for the aligned_stream
...
If we fail immediately, we currently have to throw out the wrong thing.
2020-06-05 23:22:57 -05:00
sz
e94b97ac36
This is what ecc=40 looks like,
...
and for the moment I'm tired of cutting it too close! We can optimize
for performance later.
Also, deleting the old bitwriter.
2020-06-05 21:58:37 -05:00
sz
3470479686
WIP to make fountain decoding better
...
The FOUNTAINSTREAM template type is a bit brutal, but it might be ok for
now???
2020-06-05 00:41:01 -05:00