Commit graph

161 commits

Author SHA1 Message Date
Daniel Beer
dd7d1ab9dd
Merge pull request #113 from JaapHaitsma/master
Fixes issue #122
2021-08-27 13:34:24 +12:00
Jaap Haitsma
7bd87c32dd Use abs instead of fabs to please compiler 2021-08-25 14:50:45 -04:00
Jaap Haitsma
064ebd5b87 Estimate gridsize better. Fixes #112 2021-08-25 14:40:31 -04:00
Daniel Beer
891550cd82
Merge pull request #105 from yamt/inspect-opencv
Add OpenCV version of inspect
2021-08-24 13:16:04 +12:00
Daniel Beer
0aa5e2ac27
Merge pull request #109 from JaapHaitsma/master
Fix issue #72 grouping and make gridsize determination more robust.
2021-06-21 11:48:10 +12:00
Jaap Haitsma
2ff513b0b4 merge upstream 2021-06-16 23:52:51 -04:00
Jaap Haitsma
c266adbc11 Merge branch 'master' of https://github.com/dlbeer/quirc 2021-06-16 23:36:18 -04:00
Jaap Haitsma
f22a89aefd do not store .vscode 2021-06-16 23:34:31 -04:00
Jaap Haitsma
0c766593bf Merge branch 'fix-grouping' of github.com:JaapHaitsma/quirc into fix-grouping 2021-06-16 23:25:54 -04:00
Jaap Haitsma
00f187d94a Remove unused functions 2021-06-16 22:18:15 -04:00
YAMAMOTO Takashi
4d6675ac17 README.md: Update for inspect-opencv 2021-05-17 08:44:08 +09:00
YAMAMOTO Takashi
003e1d98f1 inspect_opencv.cxx: Adapt to OpenCV 2021-05-17 08:44:08 +09:00
YAMAMOTO Takashi
85d4a7db29 Makefile: Add inspect-opencv target 2021-05-17 08:34:18 +09:00
YAMAMOTO Takashi
633ed29ad9 dbgutil.h: extern "C" for C++ 2021-05-17 08:34:18 +09:00
YAMAMOTO Takashi
058d7ab1da cp inspect.c inspect_opencv.cxx 2021-05-17 08:34:18 +09:00
Daniel Beer
5adb7597c1
Merge pull request #100 from yamt/flood-fill2
Improve stack usage for flood filling
2021-05-12 10:30:49 +12:00
YAMAMOTO Takashi
6b3575cd59 flood_fill_seed: Add comments on exit conditions 2021-05-11 15:03:09 +09:00
YAMAMOTO Takashi
22269c9a43 flood_fill_seed: initialize left_up and left_down together
Just for readability.
2021-05-11 14:59:22 +09:00
YAMAMOTO Takashi
87ca2b6c2d flood_fill_seed: Switch from goto to while 2021-05-11 14:57:53 +09:00
YAMAMOTO Takashi
a436fde8a0 flood_fill_seed: Reduce code duplicatino
This is also a preparation to eliminate the uses of goto.
2021-05-11 14:54:19 +09:00
YAMAMOTO Takashi
eadbc2caca flood_fill_seed: Move flood_fill_line to the "caller"
This restructure allows us to unify "call" and "return_from_call".
2021-05-11 14:09:24 +09:00
YAMAMOTO Takashi
0b69940876 flood_fill_line: call user callback as well 2021-05-11 14:05:02 +09:00
YAMAMOTO Takashi
38f882b3d6 flood_fill_seed: Simplify the flow by having a single "return point". 2021-05-11 13:46:31 +09:00
YAMAMOTO Takashi
1fa9b0c109 flood_fill_seed: Add assertions 2021-05-11 13:26:59 +09:00
YAMAMOTO Takashi
dd6c64cafe Add QUIRC_ASSERT 2021-05-11 13:26:47 +09:00
YAMAMOTO Takashi
40def012e7 flood_fill_seed: Unify "left" and "x" vars
This reduces the memory usage a bit.
2021-05-11 13:04:02 +09:00
YAMAMOTO Takashi
aad3fc63b6 flood_fill_seed: separate a logic to fill a line 2021-05-11 12:55:44 +09:00
YAMAMOTO Takashi
f1dd37fbdb quirc_resize: Make this a bit more careful about integer overflows
Also, avoid malloc(0), which is not too portable.
2021-05-11 11:05:58 +09:00
YAMAMOTO Takashi
772cd3e73f Improve stack usage for flood filling
* Make flood filling logic iterative (vs recursive)
  I basically tried one-to-one conversions here to avoid mistakes.
  probably it has a room for later optimizations.

* Use explicit malloc (vs variables on stack) to allocate the work area.

* Estimate the amount of memory for the work area dynamically
  from the image size, instead of using a constant FLOOD_FILL_MAX_DEPTH,
  which is too big in the most cases.
2021-05-11 11:05:58 +09:00
Daniel Beer
c6fc67088a
Merge pull request #103 from yamt/otsu
Fix possible overflows in otsu()
2021-05-11 13:24:56 +12:00
Daniel Beer
e43a33bbc4 Add name of license to LICENSE file. 2021-05-11 10:34:42 +12:00
Daniel Beer
db49540f36
Merge pull request #107 from yamt/shrink-datastream
Shrink struct datastream by borrowing the user buffer
2021-05-11 10:30:58 +12:00
Daniel Beer
fd7792177e
Merge pull request #106 from yamt/finder_scan
finder_scan: Improve capstone detection on small images
2021-05-11 10:28:03 +12:00
Alexandre Perrin
121d685617
Merge pull request #101 from yamt/doc-make
README.md: document requirement on make command
2021-05-02 21:53:32 +02:00
YAMAMOTO Takashi
21b7581b04 Shrink struct datastream by borrowing the user buffer 2021-04-23 13:40:37 +09:00
YAMAMOTO Takashi
65379a7c39 finder_scan: Improve capstone detection on small images
When using small captured images, I somehow frequently see failures
to recognize a capstone due to rounding errors.
eg. when pb[] = {2 3 8 3 2}.

This commit tries to improve it by using fixed-point arithmetics.
The scaling factor was chosen somehow arbitrary. A moderate scaling
should be enough.
2021-04-23 10:36:22 +09:00
YAMAMOTO Takashi
734258c775 finder_scan: constify the "check" array 2021-04-23 10:36:22 +09:00
YAMAMOTO Takashi
02ed1066ba test_grouping: use unsigned variables where it makes more sense 2021-04-23 10:36:22 +09:00
YAMAMOTO Takashi
6fb24d26c8 README.md: document requirement on make command 2021-04-17 22:35:46 +09:00
Alexandre Perrin
ed455904f3
Merge pull request #102 from yamt/readme-quirc-demo-opencv
Update for quirc-demo-opencv and dependencies
2021-04-16 20:38:38 +02:00
YAMAMOTO Takashi
ea9b6ee5ef otsu: Use unsigned for the pixel numbers
Because singed numbers don't make sense here.
2021-04-08 13:38:30 +09:00
YAMAMOTO Takashi
de68db7b69 otsu: Use double for weighted sums
My phone camera produces 12M-pixel images.
They can easily overflow an int.
2021-04-08 13:38:30 +09:00
YAMAMOTO Takashi
a3623ea4f4 README.md: Update extra dependencies for each programs 2021-04-08 09:49:14 +09:00
YAMAMOTO Takashi
ef1b97015e Makefile: quirc-demo-opencv doesn't use libjpeg 2021-04-08 09:49:14 +09:00
YAMAMOTO Takashi
a2b1358580 README.md: Update for quirc-demo-opencv 2021-04-08 09:49:11 +09:00
Alexandre Perrin
9c0f555acb
Merge pull request #94 from yamt/demo-opencv
quirc-demo-opencv: Add OpenCV version of the demo
2021-03-28 21:00:08 +02:00
Alexandre Perrin
7ef51ee6e7
Merge pull request #97 from yamt/readme-demo
README.md: mention requirements of each test/demo
2021-03-28 20:59:30 +02:00
YAMAMOTO Takashi
f10e7dc39a README.md: mention requirements of each test/demo 2021-03-23 09:08:51 +09:00
YAMAMOTO Takashi
679e43f144 quirc-demo-opencv: Add OpenCV version of the demo
My motivation is to experiment quirc on macOS, where
neither of SDL1 or V4L2 work.

```
% brew install opencv
% brew install pkg-config
% brew install bsdmake
% bsdmake quirc-demo-opencv
% ./quirc-demo-opencv
```

Note: the macOS version of GNU make (/usr/bin/make) is a bit old
for quirc's Makefile.
2021-03-22 10:13:33 +09:00
Alexandre Perrin
7e7ab596e4
Merge pull request #89 from claudiofelber/master
Support horizontally flipped QR-codes according to ISO 18004:2015
2020-09-23 22:09:39 +02:00