Commit graph

841 commits

Author SHA1 Message Date
dswitkin 01eed5266e - Converted parts of the PDF 417 reader to use BitMatrix.
- Changed the PDF 417 detector to search the image more broadly, instead of assuming the barcode starts in the left 1/4 and ends in the right 1/4. We now get 8/23 on the real-world blackbox test, and we'll probably do even better with further improvements here.
- Added a quiet zone to two of the unit test images and updated a golden result for one of them. We now get 3/7 on the first test.
- Tried to fix some bugs in the upside down code but it still doesn't work.

git-svn-id: https://zxing.googlecode.com/svn/trunk@1010 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-30 21:55:19 +00:00
dswitkin 0667b29155 Added the PDF 417 blackbox tests to the test-blackbox Ant target.
git-svn-id: https://zxing.googlecode.com/svn/trunk@1009 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-30 18:51:43 +00:00
dswitkin f5124cec37 Created a new blackbox unit test of real-world PDF 417 images taken with an Android device. Currently we decode 0/23.
git-svn-id: https://zxing.googlecode.com/svn/trunk@1008 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-30 18:47:34 +00:00
dswitkin 2397216901 Added a few computer-generated PDF 417 barcodes to the blackbox tests. The current code doesn't seem to handle more advanced error correction modes.
git-svn-id: https://zxing.googlecode.com/svn/trunk@1007 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-30 17:32:12 +00:00
dswitkin eb8b9677cf Added the previous Android benchmark I've been using to track performance, as well as a new one which uses wider images and therefore twice as many pixels.
git-svn-id: https://zxing.googlecode.com/svn/trunk@1006 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-29 22:08:38 +00:00
dswitkin e2324bc2ae Added slightly better blackbox unit test stats.
git-svn-id: https://zxing.googlecode.com/svn/trunk@1005 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-29 21:57:59 +00:00
dswitkin 10dfe7789b - Got the DataMatrix decoder compiling again with a quick bandaid.
- Fixed two bugs in the LocalBlockBinarizer sharpening routine. It can now decode 2132 images in our blackbox tests, compared to 2103 using the global histogram approach.
- Added the PDF 417 blackbox test to AllPositiveBlackBoxTester, and allowed it to complete even if the tests fail.

git-svn-id: https://zxing.googlecode.com/svn/trunk@1004 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-29 15:49:42 +00:00
srowen 597fcfb23d Code analysis tweaks
git-svn-id: https://zxing.googlecode.com/svn/trunk@1003 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-28 16:33:02 +00:00
christian.brunschen f09b742ea2 * Throw the actual exception objects, rather than pointers to them, i.e.:
- replace |throw new FooException()| with |throw FooException()|
  - replace |catch (FooException *ex)| with |catch (FooExceptio ex)|
  - update all uses of caught exceptions appropriately:
    . replace |ex->foo| with |ex.foo|
    . remove all attempts to delete the caught exception(s)
* Add 'const' to the 'char *' declarations for character encoding names



git-svn-id: https://zxing.googlecode.com/svn/trunk@1002 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-27 13:22:03 +00:00
dswitkin cca4b72bfa Whoops, fixed long-standing bug in the benchmark. Never noticed before because we always used square images.
git-svn-id: https://zxing.googlecode.com/svn/trunk@1001 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-26 21:18:58 +00:00
dswitkin c3e5f1fcfd Modified the CommandLineRunner to use all available decoders, even the ones which aren't considered production quality yet.
git-svn-id: https://zxing.googlecode.com/svn/trunk@1000 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-26 20:03:10 +00:00
srowen 550511d760 Remove use of BinaryBitmap in QR Code, DM
git-svn-id: https://zxing.googlecode.com/svn/trunk@999 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-26 19:22:48 +00:00
dswitkin ce1badea71 Sean had a good idea to add @deprecated Javadoc comments to these three methods to help track down their usage. We can't use a Java @Deprecated annotation because core builds against Java 1.2.
git-svn-id: https://zxing.googlecode.com/svn/trunk@998 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-26 19:04:12 +00:00
srowen 65f4f7c1c6 Fix an (old?) compile error
git-svn-id: https://zxing.googlecode.com/svn/trunk@997 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-26 19:03:04 +00:00
dswitkin 8acb0017b1 Updated the Android Test app to use a wider viewfinder, to save images as PNGs instead of JPEGs, and to work on phones without a shutter button.
git-svn-id: https://zxing.googlecode.com/svn/trunk@996 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-26 18:48:14 +00:00
srowen a4b2678420 Updates for appspot
git-svn-id: https://zxing.googlecode.com/svn/trunk@995 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-26 18:08:05 +00:00
srowen dd067b4ba2 Nevermind, removing javadoc
git-svn-id: https://zxing.googlecode.com/svn/trunk@994 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-26 18:01:31 +00:00
dswitkin 167197ec7a Refactored the MonochromeBitmapSource class hierarchy into LuminanceSource, Binarizer, and BinaryBitmap classes. The unit tests pass and I believe the change is complete, but there are some clients like J2ME and Bug that I can't build.
This change will allow new thresholding algorithms to be developed and tested, as well as implemented per platform if needed (e.g. in JNI on Android). It should also perform better when multiple 2D Readers are installed, because the underlying image will only be converted to 1 bit once. It also allows some platforms to return luminance data without a copy.

The current state of this checkin is to use the old black point algorithm, which now lives in GlobalHistogramBinarizer. This will be our benchmark and fallback for slower platforms. Going forward we will begin to use LocalBlockBinarizer as I shake out the edge cases and tune it for performance. Currently it is unused.

IMPORTANT: I have temporarily included three methods from MonochromeBitmapSource at the end of BinaryBitmap as a way to make this change in stages. They are deprecated and will be removed soon. All of the Reader classes will need to change the way they examine 1 bit pixels to use the new getBlackRow() and getBlackMatrix() calls.

git-svn-id: https://zxing.googlecode.com/svn/trunk@993 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-26 17:49:45 +00:00
srowen 54d65e315d Try adding current javadoc to SVN
git-svn-id: https://zxing.googlecode.com/svn/trunk@992 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-26 17:47:15 +00:00
kev.sully 974fb5e403 ISSUE: http://code.google.com/p/zxing/issues/detail?id=42
Added PDF417 to list of readers. Will be used only if its specified in a Hint.

git-svn-id: https://zxing.googlecode.com/svn/trunk@987 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-26 14:34:16 +00:00
dswitkin da4f56b022 Fixed some code which was ignoring the result of MonochromeBitmapSource calls, which may work in some cases but isn't legal and failed and in some experiments.
git-svn-id: https://zxing.googlecode.com/svn/trunk@986 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-25 19:46:49 +00:00
srowen 969088fa82 Style changes mostly
git-svn-id: https://zxing.googlecode.com/svn/trunk@985 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-24 13:19:53 +00:00
kev.sully 372dfa1145 ISSUE: http://code.google.com/p/zxing/issues/detail?id=42
Added PDF417 to list of readers. Will be used only if its specified in a Hint.

git-svn-id: https://zxing.googlecode.com/svn/trunk@984 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-24 10:03:37 +00:00
kev.sully ffbbda2086 ISSUE: http://code.google.com/p/zxing/issues/detail?id=42
Added PDF417 to list of readers. Will be used only if its specified in a Hint.

git-svn-id: https://zxing.googlecode.com/svn/trunk@983 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-24 10:02:58 +00:00
kev.sully db23e7c3b1 ISSUE: http://code.google.com/p/zxing/issues/detail?id=42
Added PDF417 to list of readers. Will be used only if its specified in a Hint.

git-svn-id: https://zxing.googlecode.com/svn/trunk@982 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-24 10:02:27 +00:00
kev.sully 36db720dac ISSUE: http://code.google.com/p/zxing/issues/detail?id=42
Added PDF417 to list of readers. Will be used only if its specified in a Hint.

git-svn-id: https://zxing.googlecode.com/svn/trunk@981 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-24 10:02:04 +00:00
kev.sully f80399966f ISSUE: http://code.google.com/p/zxing/issues/detail?id=42
Added PDF417 to list of readers. Will be used only if its specified in a Hint.

git-svn-id: https://zxing.googlecode.com/svn/trunk@980 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-24 10:01:47 +00:00
dswitkin 6367973b49 Added a clear() method to BitMatrix.
git-svn-id: https://zxing.googlecode.com/svn/trunk@979 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-23 21:05:09 +00:00
dswitkin b613112615 Rewrote BitMatrix to allow rectangular 2D arrays, and so that every row begins with a new int, which makes it fast to copy out rows into BitArrays. This will be the basis of the upcoming bitmap refactoring for 1D Readers.
git-svn-id: https://zxing.googlecode.com/svn/trunk@978 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-22 21:03:34 +00:00
dswitkin 7fec06465a Continuing with the x, y coordinate push, BitMatrix is now standardized. I also converted DataMask back to i, j for now to be consistent with the rest of the QR module, and made sure all the tests still pass.
git-svn-id: https://zxing.googlecode.com/svn/trunk@977 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-22 19:52:51 +00:00
srowen 4b7e5e6461 Remove getBits()
git-svn-id: https://zxing.googlecode.com/svn/trunk@976 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-22 17:48:37 +00:00
dswitkin 5f2b64ee50 Used IntelliJ's amazing refactoring functions to change the argument ordering of ByteMatrix. I want to standardize this across ZXing: the first component should always be horizontal and the second vertical, whether supplying an x, y point or a width, height pair. Also, we should always use x and y as variables with x being the horizontal component to avoid confusion.
git-svn-id: https://zxing.googlecode.com/svn/trunk@975 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-22 15:50:08 +00:00
dswitkin 406f353e53 Modified some comments to reflect that these objects are thread-safe but not reentrant.
git-svn-id: https://zxing.googlecode.com/svn/trunk@974 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-22 15:32:59 +00:00
dswitkin 0c3a4b4b5a Updated some comments about thread safety and fixed one easy case. Sean, please have a look.
git-svn-id: https://zxing.googlecode.com/svn/trunk@973 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-19 19:08:31 +00:00
srowen 63a1dc62a3 Issue 198
git-svn-id: https://zxing.googlecode.com/svn/trunk@972 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-19 13:23:09 +00:00
dswitkin 9f509172b6 Wrote a quick command line app to calculate how many total images are passing our blackbox unit tests. This could use some improvement but it's a start.
git-svn-id: https://zxing.googlecode.com/svn/trunk@971 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-18 20:55:42 +00:00
dswitkin ea0ef87c2b Changed "Search book" back to "Search book contents" for clarity, since it's too confusing next to the "Book Search" button. The "Custom search" button will wrap in this case but it still fits fine.
git-svn-id: https://zxing.googlecode.com/svn/trunk@970 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-18 15:51:18 +00:00
dswitkin 1da9bd60b3 Added a new blackbox test with extreme shadows and highlights. We do pretty poorly on this, but I've been experimenting with local thresholding algorithms which are a night and day improvement.
Also made the ImageConverter app ignore some kinds of files.

git-svn-id: https://zxing.googlecode.com/svn/trunk@969 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-16 18:47:34 +00:00
srowen 5c17a1ad71 Added getBlackDiagonal() which I likely want to use later
git-svn-id: https://zxing.googlecode.com/svn/trunk@968 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-11 13:42:39 +00:00
srowen eed790a0bf Issue 155: allow custom product search, and, other small tweaks I think nobody will yell at me for
git-svn-id: https://zxing.googlecode.com/svn/trunk@967 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-10 16:40:56 +00:00
dswitkin 5edd5dab77 Calculated total time taken by the benchmark, and also reported it in the UI (in addition to logcat).
git-svn-id: https://zxing.googlecode.com/svn/trunk@966 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-08 19:17:34 +00:00
srowen 96025842a1 Don't use books.google.cn for Book Search -- doesn't exist. Also a few tiny tweaks.
git-svn-id: https://zxing.googlecode.com/svn/trunk@965 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-08 17:00:09 +00:00
srowen 9bc1fe4695 Updates to compile against 1.5; figuring we will shortly need to be 1.5-friendly
git-svn-id: https://zxing.googlecode.com/svn/trunk@964 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-06-06 19:50:27 +00:00
srowen 096b73fe83 Added hypest who apparently actually wrote the C# port
git-svn-id: https://zxing.googlecode.com/svn/trunk@963 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-05-29 00:05:48 +00:00
dswitkin 0fe2f0365f Wrote a usage message for the CommandLineRunner.
git-svn-id: https://zxing.googlecode.com/svn/trunk@962 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-05-28 18:59:11 +00:00
dswitkin c07fad6410 Created a new QR blackbox test with difficult exposures, mostly self-shadowing cases. We only get 34 out of 120 tests, which is about what I expected. To fix these we will have to move away from a global black point and towards a more sophisticated local thresholding algorithm.
git-svn-id: https://zxing.googlecode.com/svn/trunk@961 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-05-28 18:45:48 +00:00
dswitkin b24162298a Cut Barcode Scanner v2.8 for Android.
git-svn-id: https://zxing.googlecode.com/svn/trunk@960 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-05-28 16:03:28 +00:00
srowen 657a4473fd Small tweaks, use more friendly content type
git-svn-id: https://zxing.googlecode.com/svn/trunk@959 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-05-28 12:05:01 +00:00
dswitkin 932715065b Only allocate a StringBuffer if the start pattern has been found successfully in the ITFReader.
git-svn-id: https://zxing.googlecode.com/svn/trunk@958 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-05-27 21:11:10 +00:00
dswitkin 0827af1d89 Made the Android Test app debuggable so I can examine memory allocation patterns using DDMS (part of the Android SDK).
git-svn-id: https://zxing.googlecode.com/svn/trunk@957 59b500cc-1b3d-0410-9834-0bbf25fbcc57
2009-05-27 18:10:47 +00:00