├── .gitignore ├── .npmignore ├── .travis.yml ├── LICENSE ├── README.md ├── dist ├── BitMatrix.d.ts ├── binarizer │ └── index.d.ts ├── decoder │ ├── decodeData │ │ ├── BitStream.d.ts │ │ ├── index.d.ts │ │ └── shiftJISTable.d.ts │ ├── decoder.d.ts │ ├── reedsolomon │ │ ├── GenericGF.d.ts │ │ ├── GenericGFPoly.d.ts │ │ └── index.d.ts │ └── version.d.ts ├── extractor │ └── index.d.ts ├── index.d.ts ├── jsQR.js └── locator │ └── index.d.ts ├── docs ├── index.html └── jsQR.js ├── package.json ├── src ├── BitMatrix.ts ├── Point.ts ├── binarizer │ └── index.ts ├── decoder │ ├── decodeData │ │ ├── BitStream.ts │ │ ├── index.ts │ │ └── shiftJISTable.ts │ ├── decoder.ts │ ├── reedsolomon │ │ ├── GenericGF.ts │ │ ├── GenericGFPoly.ts │ │ └── index.ts │ ├── test-data │ │ ├── alphanumeric.png │ │ ├── byte.png │ │ ├── eci.png │ │ ├── kanji.png │ │ ├── mixed.png │ │ ├── no-termination-byte.png │ │ ├── numeric.png │ │ ├── truncated-corrupted.bin │ │ └── truncated-null.bin │ ├── test.ts │ └── version.ts ├── extractor │ ├── index.ts │ ├── test-data │ │ ├── input.png │ │ └── output.png │ └── test.ts ├── index.ts └── locator │ ├── index.ts │ ├── test-data │ ├── damaged.png │ ├── distorted-extreme.png │ ├── malformed-infinity.png │ ├── missing-finder-patterns.png │ ├── odd-skew.png │ ├── perfect.png │ ├── real-world.png │ └── small-photo.png │ └── test.ts ├── tests ├── end-to-end-test.ts ├── end-to-end │ ├── 0 │ │ ├── input.png │ │ └── output.json │ ├── 1 │ │ ├── input.png │ │ └── output.json │ ├── 2 │ │ ├── input.png │ │ └── output.json │ ├── 3 │ │ ├── input.png │ │ └── output.json │ ├── 4 │ │ ├── input.png │ │ └── output.json │ ├── 5 │ │ ├── input.png │ │ └── output.json │ ├── 6 │ │ ├── input.png │ │ └── output.json │ ├── 7 │ │ ├── input.png │ │ └── output.json │ ├── 8 │ │ ├── input.png │ │ └── output.json │ ├── 9 │ │ ├── input.png │ │ └── output.json │ ├── 10 │ │ ├── input.png │ │ └── output.json │ ├── 11 │ │ ├── input.png │ │ └── output.json │ ├── 12 │ │ ├── input.png │ │ └── output.json │ ├── 13 │ │ ├── input.png │ │ └── output.json │ ├── 14 │ │ ├── input.png │ │ └── output.json │ ├── 15 │ │ ├── input.png │ │ └── output.json │ ├── 16 │ │ ├── input.png │ │ └── output.json │ ├── 17 │ │ ├── input.png │ │ └── output.json │ ├── 18 │ │ ├── input.png │ │ └── output.json │ ├── 19 │ │ ├── input.png │ │ └── output.json │ ├── 20 │ │ ├── input.png │ │ └── output.json │ ├── 21 │ │ ├── input.png │ │ └── output.json │ ├── 23 │ │ ├── input.png │ │ └── output.json │ ├── 24 │ │ ├── input.png │ │ └── output.json │ ├── 25 │ │ ├── input.png │ │ └── output.json │ ├── 26 │ │ ├── input.png │ │ └── output.json │ ├── 27 │ │ ├── input.png │ │ └── output.json │ ├── 28 │ │ ├── input.png │ │ └── output.json │ ├── 29 │ │ ├── input.png │ │ └── output.json │ ├── 30 │ │ ├── input.png │ │ └── output.json │ ├── 31 │ │ ├── input.png │ │ └── output.json │ ├── 32 │ │ ├── input.png │ │ └── output.json │ ├── 33 │ │ ├── input.png │ │ └── output.json │ ├── 34 │ │ ├── input.png │ │ └── output.json │ ├── 35 │ │ ├── input.png │ │ └── output.json │ ├── 36 │ │ ├── input.png │ │ └── output.json │ ├── 37 │ │ ├── input.png │ │ └── output.json │ ├── 38 │ │ ├── input.png │ │ └── output.json │ ├── 39 │ │ ├── input.png │ │ └── output.json │ ├── 40 │ │ ├── input.png │ │ └── output.json │ ├── 41 │ │ ├── input.png │ │ └── output.json │ ├── 42 │ │ ├── input.png │ │ └── output.json │ ├── 43 │ │ ├── input.png │ │ └── output.json │ ├── 44 │ │ ├── input.png │ │ └── output.json │ ├── 45 │ │ ├── input.png │ │ └── output.json │ ├── 46 │ │ ├── input.png │ │ └── output.json │ ├── 47 │ │ ├── input.png │ │ └── output.json │ ├── 48 │ │ ├── input.png │ │ └── output.json │ ├── 49 │ │ ├── input.png │ │ └── output.json │ ├── 50 │ │ ├── input.png │ │ └── output.json │ ├── 51 │ │ ├── input.png │ │ └── output.json │ ├── 52 │ │ ├── input.png │ │ └── output.json │ ├── 53 │ │ ├── input.png │ │ └── output.json │ ├── 54 │ │ ├── input.png │ │ └── output.json │ ├── 55 │ │ ├── input.png │ │ └── output.json │ ├── 56 │ │ ├── input.png │ │ └── output.json │ ├── 57 │ │ ├── input.png │ │ └── output.json │ ├── 58 │ │ ├── input.png │ │ └── output.json │ ├── 59 │ │ ├── input.png │ │ └── output.json │ ├── 60 │ │ ├── input.png │ │ └── output.json │ ├── 61 │ │ ├── input.png │ │ └── output.json │ ├── 62 │ │ ├── input.png │ │ └── output.json │ ├── 63 │ │ ├── input.png │ │ └── output.json │ ├── 64 │ │ ├── input.png │ │ └── output.json │ ├── 65 │ │ ├── input.png │ │ └── output.json │ ├── 66 │ │ ├── input.png │ │ └── output.json │ ├── 67 │ │ ├── input.png │ │ └── output.json │ ├── 68 │ │ ├── input.png │ │ └── output.json │ ├── 69 │ │ ├── input.png │ │ └── output.json │ ├── 70 │ │ ├── input.png │ │ └── output.json │ ├── 71 │ │ ├── input.png │ │ └── output.json │ ├── 72 │ │ ├── input.png │ │ └── output.json │ ├── 73 │ │ ├── input.png │ │ └── output.json │ ├── 74 │ │ ├── input.png │ │ └── output.json │ ├── 75 │ │ ├── input.png │ │ └── output.json │ ├── 76 │ │ ├── input.png │ │ └── output.json │ ├── 77 │ │ ├── input.png │ │ └── output.json │ ├── 78 │ │ ├── input.png │ │ └── output.json │ ├── 79 │ │ ├── input.png │ │ └── output.json │ ├── 80 │ │ ├── input.png │ │ └── output.json │ ├── 81 │ │ ├── input.png │ │ └── output.json │ ├── 82 │ │ ├── input.png │ │ └── output.json │ ├── 83 │ │ ├── input.png │ │ └── output.json │ ├── 84 │ │ ├── input.png │ │ └── output.json │ ├── 85 │ │ ├── input.png │ │ └── output.json │ ├── 86 │ │ ├── input.png │ │ └── output.json │ ├── 87 │ │ ├── input.png │ │ └── output.json │ ├── 88 │ │ ├── input.png │ │ └── output.json │ ├── 89 │ │ ├── input.png │ │ └── output.json │ ├── 90 │ │ ├── input.png │ │ └── output.json │ ├── 91 │ │ ├── input.png │ │ └── output.json │ ├── 92 │ │ ├── input.png │ │ └── output.json │ ├── 93 │ │ ├── input.png │ │ └── output.json │ ├── 94 │ │ ├── input.png │ │ └── output.json │ ├── 95 │ │ ├── input.png │ │ └── output.json │ ├── 96 │ │ ├── input.png │ │ └── output.json │ ├── 97 │ │ ├── input.png │ │ └── output.json │ ├── 98 │ │ ├── input.png │ │ └── output.json │ ├── 99 │ │ ├── input.png │ │ └── output.json │ ├── 100 │ │ ├── input.png │ │ └── output.json │ ├── 101 │ │ ├── input.png │ │ └── output.json │ ├── 102 │ │ ├── input.png │ │ └── output.json │ ├── 103 │ │ ├── input.png │ │ └── output.json │ ├── 104 │ │ ├── input.png │ │ └── output.json │ ├── 105 │ │ ├── input.png │ │ └── output.json │ ├── 106 │ │ ├── input.png │ │ └── output.json │ ├── 107 │ │ ├── input.png │ │ └── output.json │ ├── 108 │ │ ├── input.png │ │ └── output.json │ ├── 109 │ │ ├── input.png │ │ └── output.json │ ├── 110 │ │ ├── input.png │ │ └── output.json │ ├── 111 │ │ ├── input.png │ │ └── output.json │ ├── 112 │ │ ├── input.png │ │ └── output.json │ ├── 113 │ │ ├── input.png │ │ └── output.json │ ├── 114 │ │ ├── input.png │ │ └── output.json │ ├── 115 │ │ ├── input.png │ │ └── output.json │ ├── 116 │ │ ├── input.png │ │ └── output.json │ ├── 117 │ │ ├── input.png │ │ └── output.json │ ├── 118 │ │ ├── input.png │ │ └── output.json │ ├── 119 │ │ ├── input.png │ │ └── output.json │ ├── 120 │ │ ├── input.png │ │ └── output.json │ ├── 121 │ │ ├── input.png │ │ └── output.json │ ├── 122 │ │ ├── input.png │ │ └── output.json │ ├── 123 │ │ ├── input.png │ │ └── output.json │ ├── 124 │ │ ├── input.png │ │ └── output.json │ ├── 125 │ │ ├── input.png │ │ └── output.json │ ├── 126 │ │ ├── input.png │ │ └── output.json │ ├── 127 │ │ ├── input.png │ │ └── output.json │ ├── 128 │ │ ├── input.png │ │ └── output.json │ ├── 129 │ │ ├── input.png │ │ └── output.json │ ├── 130 │ │ ├── input.png │ │ └── output.json │ ├── 131 │ │ ├── input.png │ │ └── output.json │ ├── 132 │ │ ├── input.png │ │ └── output.json │ ├── 133 │ │ ├── input.png │ │ └── output.json │ ├── 134 │ │ ├── input.png │ │ └── output.json │ ├── 135 │ │ ├── input.png │ │ └── output.json │ ├── 136 │ │ ├── input.png │ │ └── output.json │ ├── 137 │ │ ├── input.png │ │ └── output.json │ ├── 138 │ │ ├── input.png │ │ └── output.json │ ├── 139 │ │ ├── input.png │ │ └── output.json │ ├── 140 │ │ ├── input.png │ │ └── output.json │ ├── 141 │ │ ├── input.png │ │ └── output.json │ ├── 142 │ │ ├── input.png │ │ └── output.json │ ├── 143 │ │ ├── input.png │ │ └── output.json │ ├── 144 │ │ ├── input.png │ │ └── output.json │ ├── 145 │ │ ├── input.png │ │ └── output.json │ ├── 146 │ │ ├── input.png │ │ └── output.json │ ├── 147 │ │ ├── input.png │ │ └── output.json │ ├── 148 │ │ ├── input.png │ │ └── output.json │ ├── 149 │ │ ├── input.png │ │ └── output.json │ ├── 150 │ │ ├── input.png │ │ └── output.json │ ├── 151 │ │ ├── input.png │ │ └── output.json │ ├── 152 │ │ ├── input.png │ │ └── output.json │ ├── 153 │ │ ├── input.png │ │ └── output.json │ ├── 154 │ │ ├── input.png │ │ └── output.json │ ├── 155 │ │ ├── input.png │ │ └── output.json │ ├── 156 │ │ ├── input.png │ │ └── output.json │ ├── 157 │ │ ├── input.png │ │ └── output.json │ ├── 158 │ │ ├── input.png │ │ └── output.json │ ├── 159 │ │ ├── input.png │ │ └── output.json │ ├── 160 │ │ ├── input.png │ │ └── output.json │ ├── 161 │ │ ├── input.png │ │ └── output.json │ ├── 162 │ │ ├── input.png │ │ └── output.json │ ├── 163 │ │ ├── input.png │ │ └── output.json │ ├── 164 │ │ ├── input.png │ │ └── output.json │ ├── 165 │ │ ├── input.png │ │ └── output.json │ ├── 166 │ │ ├── input.png │ │ └── output.json │ ├── 167 │ │ ├── input.png │ │ └── output.json │ ├── 168 │ │ ├── input.png │ │ └── output.json │ ├── 169 │ │ ├── input.png │ │ └── output.json │ ├── 170 │ │ ├── input.png │ │ └── output.json │ ├── 171 │ │ ├── input.png │ │ └── output.json │ ├── 172 │ │ ├── input.png │ │ └── output.json │ ├── 173 │ │ ├── input.png │ │ └── output.json │ ├── 174 │ │ ├── input.png │ │ └── output.json │ ├── 175 │ │ ├── input.png │ │ └── output.json │ ├── 176 │ │ ├── input.png │ │ └── output.json │ ├── 177 │ │ ├── input.png │ │ └── output.json │ ├── 178 │ │ ├── input.png │ │ └── output.json │ ├── 179 │ │ ├── input.png │ │ └── output.json │ ├── 180 │ │ ├── input.png │ │ └── output.json │ ├── 181 │ │ ├── input.png │ │ └── output.json │ ├── 182 │ │ ├── input.png │ │ └── output.json │ ├── 184 │ │ ├── input.png │ │ └── output.json │ ├── 185 │ │ ├── input.png │ │ └── output.json │ ├── 186 │ │ ├── input.png │ │ └── output.json │ ├── angel-hotel │ │ ├── input.png │ │ └── output.json │ ├── battery │ │ ├── input.png │ │ └── output.json │ ├── bike-1 │ │ ├── input.png │ │ └── output.json │ ├── bike-2 │ │ ├── input.png │ │ └── output.json │ ├── billboard-1 │ │ ├── input.png │ │ └── output.json │ ├── billboard-2 │ │ ├── input.png │ │ └── output.json │ ├── bitcoin-tag │ │ ├── input.png │ │ └── output.json │ ├── bus-stop-1 │ │ ├── input.png │ │ └── output.json │ ├── bus-stop-2 │ │ ├── input.png │ │ └── output.json │ ├── bus-stop-3 │ │ ├── input.png │ │ └── output.json │ ├── business-card-1 │ │ ├── input.png │ │ └── output.json │ ├── business-card-2 │ │ ├── input.png │ │ └── output.json │ ├── business-card-3 │ │ ├── input.png │ │ └── output.json │ ├── cache-flyer │ │ ├── input.png │ │ └── output.json │ ├── cgi │ │ ├── input.png │ │ └── output.json │ ├── chevy-ad │ │ ├── input.png │ │ └── output.json │ ├── cupake-5 │ │ ├── input.png │ │ └── output.json │ ├── cupcake-1 │ │ ├── input.png │ │ └── output.json │ ├── cupcake-2 │ │ ├── input.png │ │ └── output.json │ ├── cupcake-3 │ │ ├── input.png │ │ └── output.json │ ├── cupcake-4 │ │ ├── input.png │ │ └── output.json │ ├── damaged │ │ ├── input.png │ │ └── output.json │ ├── emblem-patch │ │ ├── input.png │ │ └── output.json │ ├── hk-ikea │ │ ├── input.png │ │ └── output.json │ ├── hudson-highlands-state-park │ │ ├── input.png │ │ └── output.json │ ├── issue-14-regression │ │ ├── input.png │ │ └── output.json │ ├── issue-32-regression │ │ ├── input.png │ │ └── output.json │ ├── issue-34-regression │ │ ├── input.png │ │ └── output.json │ ├── issue-54-1 │ │ ├── input.png │ │ └── output.json │ ├── issue-54-2 │ │ ├── input.png │ │ └── output.json │ ├── issue-59-inverted │ │ ├── input.png │ │ └── output.json │ ├── issue-59 │ │ ├── input.png │ │ └── output.json │ ├── issue-61 │ │ ├── input.png │ │ └── output.json │ ├── japan-visa │ │ ├── input.png │ │ └── output.json │ ├── japanese-jean-ad │ │ ├── input.png │ │ └── output.json │ ├── kanji │ │ ├── input.png │ │ └── output.json │ ├── key-flyer │ │ ├── input.png │ │ └── output.json │ ├── museum-1 │ │ ├── input.png │ │ └── output.json │ ├── museum-2 │ │ ├── input.png │ │ └── output.json │ ├── paper-flyer │ │ ├── input.png │ │ └── output.json │ ├── pepsi-bottle │ │ ├── input.png │ │ └── output.json │ ├── report.json │ ├── ring │ │ ├── input.png │ │ └── output.json │ ├── schiller-denkmal │ │ ├── input.png │ │ └── output.json │ ├── school-flyer │ │ ├── input.png │ │ └── output.json │ ├── sd-card-1 │ │ ├── input.png │ │ └── output.json │ ├── sd-card-2 │ │ ├── input.png │ │ └── output.json │ ├── sheep │ │ ├── input.png │ │ └── output.json │ ├── sidewalk │ │ ├── input.png │ │ └── output.json │ ├── square-des-fusilles │ │ ├── input.png │ │ └── output.json │ ├── starbucks-app │ │ ├── input.png │ │ └── output.json │ ├── stickerbook-1 │ │ ├── input.png │ │ └── output.json │ ├── stickerbook-2 │ │ ├── input.png │ │ └── output.json │ ├── stickerbook-3 │ │ ├── input.png │ │ └── output.json │ ├── stickerbook-4 │ │ ├── input.png │ │ └── output.json │ ├── stickerbook-5 │ │ ├── input.png │ │ └── output.json │ ├── stickerbook-6 │ │ ├── input.png │ │ └── output.json │ ├── subway-station │ │ ├── input.png │ │ └── output.json │ ├── tattoo-scan │ │ ├── input.png │ │ └── output.json │ ├── trackable-book-1 │ │ ├── input.png │ │ └── output.json │ ├── trackable-book-2 │ │ ├── input.png │ │ └── output.json │ ├── trackable-book-3 │ │ ├── input.png │ │ └── output.json │ ├── trackable-book-4 │ │ ├── input.png │ │ └── output.json │ ├── trackable-book-5 │ │ ├── input.png │ │ └── output.json │ ├── trackable-book-6 │ │ ├── input.png │ │ └── output.json │ ├── tree-1 │ │ ├── input.png │ │ └── output.json │ ├── tree-2 │ │ ├── input.png │ │ └── output.json │ ├── videogame-frame │ │ ├── input.png │ │ └── output.json │ ├── weekend-tirana-2016-agenda │ │ ├── input.png │ │ └── output.json │ └── windows-screenshot │ │ ├── input.png │ │ └── output.json ├── generate-test-data.ts ├── helpers.ts ├── tsconfig.json └── types │ └── upng-js │ └── index.d.ts ├── tsconfig.json ├── tslint.json └── webpack.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | 3 | # Logs 4 | logs 5 | *.log 6 | 7 | # Runtime data 8 | pids 9 | *.pid 10 | *.seed 11 | 12 | # Directory for instrumented libs generated by jscoverage/JSCover 13 | lib-cov 14 | 15 | # Coverage directory used by tools like istanbul 16 | coverage 17 | 18 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 19 | .grunt 20 | 21 | # node-waf configuration 22 | .lock-wscript 23 | 24 | # Compiled binary addons (http://nodejs.org/api/addons.html) 25 | build/Release 26 | 27 | # Dependency directory 28 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git 29 | node_modules 30 | 31 | # Don't commit package-lock.json - We don't have any direct dependencies, and the dev dependencies for now at least 32 | # dont't need to be locked beyond the package.json 33 | package-lock.json 34 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | * 2 | 3 | !dist/** 4 | !package.json 5 | !LICENSE 6 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "node" # Latest 4 | - "10" 5 | - "8" 6 | - "6" 7 | deploy: 8 | provider: npm 9 | on: 10 | branch: master 11 | email: cosmo.wolfe@gmail.com 12 | api_key: $NPM_API_TOKEN 13 | script: npm run-script lint && node --max-old-space-size=4096 ./node_modules/.bin/jest --runInBand 14 | -------------------------------------------------------------------------------- /dist/BitMatrix.d.ts: -------------------------------------------------------------------------------- 1 | export declare class BitMatrix { 2 | static createEmpty(width: number, height: number): BitMatrix; 3 | width: number; 4 | height: number; 5 | private data; 6 | constructor(data: Uint8ClampedArray, width: number); 7 | get(x: number, y: number): boolean; 8 | set(x: number, y: number, v: boolean): void; 9 | setRegion(left: number, top: number, width: number, height: number, v: boolean): void; 10 | } 11 | -------------------------------------------------------------------------------- /dist/binarizer/index.d.ts: -------------------------------------------------------------------------------- 1 | import { BitMatrix } from "../BitMatrix"; 2 | export declare function binarize(data: Uint8ClampedArray, width: number, height: number, returnInverted: boolean): { 3 | binarized: BitMatrix; 4 | inverted: BitMatrix; 5 | } | { 6 | binarized: BitMatrix; 7 | inverted?: undefined; 8 | }; 9 | -------------------------------------------------------------------------------- /dist/decoder/decodeData/BitStream.d.ts: -------------------------------------------------------------------------------- 1 | export declare class BitStream { 2 | private bytes; 3 | private byteOffset; 4 | private bitOffset; 5 | constructor(bytes: Uint8ClampedArray); 6 | readBits(numBits: number): number; 7 | available(): number; 8 | } 9 | -------------------------------------------------------------------------------- /dist/decoder/decodeData/index.d.ts: -------------------------------------------------------------------------------- 1 | export interface Chunk { 2 | type: Mode; 3 | text: string; 4 | } 5 | export interface ByteChunk { 6 | type: Mode.Byte | Mode.Kanji; 7 | bytes: number[]; 8 | } 9 | export interface ECIChunk { 10 | type: Mode.ECI; 11 | assignmentNumber: number; 12 | } 13 | export declare type Chunks = Array; 14 | export interface DecodedQR { 15 | text: string; 16 | bytes: number[]; 17 | chunks: Chunks; 18 | version: number; 19 | } 20 | export declare enum Mode { 21 | Numeric = "numeric", 22 | Alphanumeric = "alphanumeric", 23 | Byte = "byte", 24 | Kanji = "kanji", 25 | ECI = "eci" 26 | } 27 | export declare function decode(data: Uint8ClampedArray, version: number): DecodedQR; 28 | -------------------------------------------------------------------------------- /dist/decoder/decodeData/shiftJISTable.d.ts: -------------------------------------------------------------------------------- 1 | export declare const shiftJISTable: { 2 | [key: number]: number; 3 | }; 4 | -------------------------------------------------------------------------------- /dist/decoder/decoder.d.ts: -------------------------------------------------------------------------------- 1 | import { BitMatrix } from "../BitMatrix"; 2 | import { DecodedQR } from "./decodeData"; 3 | export declare function decode(matrix: BitMatrix): DecodedQR; 4 | -------------------------------------------------------------------------------- /dist/decoder/reedsolomon/GenericGF.d.ts: -------------------------------------------------------------------------------- 1 | import GenericGFPoly from "./GenericGFPoly"; 2 | export declare function addOrSubtractGF(a: number, b: number): number; 3 | export default class GenericGF { 4 | primitive: number; 5 | size: number; 6 | generatorBase: number; 7 | zero: GenericGFPoly; 8 | one: GenericGFPoly; 9 | private expTable; 10 | private logTable; 11 | constructor(primitive: number, size: number, genBase: number); 12 | multiply(a: number, b: number): number; 13 | inverse(a: number): number; 14 | buildMonomial(degree: number, coefficient: number): GenericGFPoly; 15 | log(a: number): number; 16 | exp(a: number): number; 17 | } 18 | -------------------------------------------------------------------------------- /dist/decoder/reedsolomon/GenericGFPoly.d.ts: -------------------------------------------------------------------------------- 1 | import GenericGF from "./GenericGF"; 2 | export default class GenericGFPoly { 3 | private field; 4 | private coefficients; 5 | constructor(field: GenericGF, coefficients: Uint8ClampedArray); 6 | degree(): number; 7 | isZero(): boolean; 8 | getCoefficient(degree: number): number; 9 | addOrSubtract(other: GenericGFPoly): GenericGFPoly; 10 | multiply(scalar: number): GenericGFPoly; 11 | multiplyPoly(other: GenericGFPoly): GenericGFPoly; 12 | multiplyByMonomial(degree: number, coefficient: number): GenericGFPoly; 13 | evaluateAt(a: number): number; 14 | } 15 | -------------------------------------------------------------------------------- /dist/decoder/reedsolomon/index.d.ts: -------------------------------------------------------------------------------- 1 | export declare function decode(bytes: number[], twoS: number): Uint8ClampedArray; 2 | -------------------------------------------------------------------------------- /dist/decoder/version.d.ts: -------------------------------------------------------------------------------- 1 | export interface Version { 2 | infoBits: number; 3 | versionNumber: number; 4 | alignmentPatternCenters: number[]; 5 | errorCorrectionLevels: Array<{ 6 | ecCodewordsPerBlock: number; 7 | ecBlocks: Array<{ 8 | numBlocks: number; 9 | dataCodewordsPerBlock: number; 10 | }>; 11 | }>; 12 | } 13 | export declare const VERSIONS: Version[]; 14 | -------------------------------------------------------------------------------- /dist/extractor/index.d.ts: -------------------------------------------------------------------------------- 1 | import { BitMatrix } from "../BitMatrix"; 2 | import { QRLocation } from "../locator"; 3 | export declare function extract(image: BitMatrix, location: QRLocation): { 4 | matrix: BitMatrix; 5 | mappingFunction: (x: number, y: number) => { 6 | x: number; 7 | y: number; 8 | }; 9 | }; 10 | -------------------------------------------------------------------------------- /dist/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Chunks } from "./decoder/decodeData"; 2 | import { Point } from "./locator"; 3 | export interface QRCode { 4 | binaryData: number[]; 5 | data: string; 6 | chunks: Chunks; 7 | version: number; 8 | location: { 9 | topRightCorner: Point; 10 | topLeftCorner: Point; 11 | bottomRightCorner: Point; 12 | bottomLeftCorner: Point; 13 | topRightFinderPattern: Point; 14 | topLeftFinderPattern: Point; 15 | bottomLeftFinderPattern: Point; 16 | bottomRightAlignmentPattern?: Point; 17 | }; 18 | } 19 | export interface Options { 20 | inversionAttempts?: "dontInvert" | "onlyInvert" | "attemptBoth" | "invertFirst"; 21 | } 22 | declare function jsQR(data: Uint8ClampedArray, width: number, height: number, providedOptions?: Options): QRCode | null; 23 | export default jsQR; 24 | -------------------------------------------------------------------------------- /dist/locator/index.d.ts: -------------------------------------------------------------------------------- 1 | import { BitMatrix } from "../BitMatrix"; 2 | export interface Point { 3 | x: number; 4 | y: number; 5 | } 6 | export interface QRLocation { 7 | topRight: Point; 8 | bottomLeft: Point; 9 | topLeft: Point; 10 | alignmentPattern: Point; 11 | dimension: number; 12 | } 13 | export declare function locate(matrix: BitMatrix): QRLocation[]; 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jsqr", 3 | "version": "1.4.0", 4 | "description": "A pure javascript QR code reading library that takes in raw images and will locate, extract and parse any QR code found within.", 5 | "repository": "https://github.com/cozmo/jsQR", 6 | "main": "./dist/jsQR.js", 7 | "types": "./dist/index.d.ts", 8 | "contributors": [ 9 | { 10 | "name": "Cosmo Wolfe", 11 | "email": "cosmo.wolfe@gmail.com" 12 | }, 13 | { 14 | "name": "Jefff Nelson", 15 | "email": "gmjefff@gmail.com" 16 | } 17 | ], 18 | "license": "Apache-2.0", 19 | "devDependencies": { 20 | "@types/fs-extra": "^4.0.2", 21 | "@types/jest": "^20.0.8", 22 | "@types/node": "^8.0.27", 23 | "awesome-typescript-loader": "^3.2.3", 24 | "fs-extra": "^4.0.1", 25 | "jest": "^23.1.0", 26 | "rimraf": "^2.6.2", 27 | "ts-jest": "^23.0.4", 28 | "ts-node": "^3.3.0", 29 | "tslint": "^5.7.0", 30 | "typescript": "^2.5.2", 31 | "upng-js": "^1.0.1", 32 | "webpack": "^3.10.0" 33 | }, 34 | "scripts": { 35 | "prebuild": "rimraf dist", 36 | "build": "webpack", 37 | "watch": "webpack --watch", 38 | "test": "jest", 39 | "lint": "tslint --project .", 40 | "generate-test-data": "ts-node --project tests/ tests/generate-test-data.ts" 41 | }, 42 | "jest": { 43 | "testRegex": ".*test.ts", 44 | "moduleFileExtensions": [ 45 | "ts", 46 | "js" 47 | ], 48 | "transform": { 49 | "^.+\\.ts$": "/node_modules/ts-jest/preprocessor.js" 50 | }, 51 | "globals": { 52 | "ts-jest": { 53 | "tsConfig": { 54 | "noImplicitAny": false, 55 | "lib": ["es2015"], 56 | "types": ["jest", "node"] 57 | } 58 | } 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /src/BitMatrix.ts: -------------------------------------------------------------------------------- 1 | export class BitMatrix { 2 | public static createEmpty(width: number, height: number) { 3 | return new BitMatrix(new Uint8ClampedArray(width * height), width); 4 | } 5 | 6 | public width: number; 7 | public height: number; 8 | private data: Uint8ClampedArray; 9 | 10 | constructor(data: Uint8ClampedArray, width: number) { 11 | this.width = width; 12 | this.height = data.length / width; 13 | this.data = data; 14 | } 15 | 16 | public get(x: number, y: number): boolean { 17 | if (x < 0 || x >= this.width || y < 0 || y >= this.height) { 18 | return false; 19 | } 20 | return !!this.data[y * this.width + x]; 21 | } 22 | 23 | public set(x: number, y: number, v: boolean) { 24 | this.data[y * this.width + x] = v ? 1 : 0; 25 | } 26 | 27 | public setRegion(left: number, top: number, width: number, height: number, v: boolean) { 28 | for (let y = top; y < top + height; y++) { 29 | for (let x = left; x < left + width; x++) { 30 | this.set(x, y, !!v); 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/Point.ts: -------------------------------------------------------------------------------- 1 | export interface Point { 2 | x: number; 3 | y: number; 4 | } 5 | -------------------------------------------------------------------------------- /src/decoder/decodeData/BitStream.ts: -------------------------------------------------------------------------------- 1 | // tslint:disable:no-bitwise 2 | 3 | export class BitStream { 4 | private bytes: Uint8ClampedArray; 5 | private byteOffset: number = 0; 6 | private bitOffset: number = 0; 7 | 8 | constructor(bytes: Uint8ClampedArray) { 9 | this.bytes = bytes; 10 | } 11 | 12 | public readBits(numBits: number): number { 13 | if (numBits < 1 || numBits > 32 || numBits > this.available()) { 14 | throw new Error("Cannot read " + numBits.toString() + " bits"); 15 | } 16 | 17 | let result = 0; 18 | // First, read remainder from current byte 19 | if (this.bitOffset > 0) { 20 | const bitsLeft = 8 - this.bitOffset; 21 | const toRead = numBits < bitsLeft ? numBits : bitsLeft; 22 | const bitsToNotRead = bitsLeft - toRead; 23 | const mask = (0xFF >> (8 - toRead)) << bitsToNotRead; 24 | result = (this.bytes[this.byteOffset] & mask) >> bitsToNotRead; 25 | numBits -= toRead; 26 | this.bitOffset += toRead; 27 | if (this.bitOffset === 8) { 28 | this.bitOffset = 0; 29 | this.byteOffset++; 30 | } 31 | } 32 | 33 | // Next read whole bytes 34 | if (numBits > 0) { 35 | while (numBits >= 8) { 36 | result = (result << 8) | (this.bytes[this.byteOffset] & 0xFF); 37 | this.byteOffset++; 38 | numBits -= 8; 39 | } 40 | 41 | // Finally read a partial byte 42 | if (numBits > 0) { 43 | const bitsToNotRead = 8 - numBits; 44 | const mask = (0xFF >> bitsToNotRead) << bitsToNotRead; 45 | result = (result << numBits) | ((this.bytes[this.byteOffset] & mask) >> bitsToNotRead); 46 | this.bitOffset += numBits; 47 | } 48 | } 49 | return result; 50 | } 51 | 52 | public available(): number { 53 | return 8 * (this.bytes.length - this.byteOffset) - this.bitOffset; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/decoder/test-data/alphanumeric.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/src/decoder/test-data/alphanumeric.png -------------------------------------------------------------------------------- /src/decoder/test-data/byte.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/src/decoder/test-data/byte.png -------------------------------------------------------------------------------- /src/decoder/test-data/eci.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/src/decoder/test-data/eci.png -------------------------------------------------------------------------------- /src/decoder/test-data/kanji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/src/decoder/test-data/kanji.png -------------------------------------------------------------------------------- /src/decoder/test-data/mixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/src/decoder/test-data/mixed.png -------------------------------------------------------------------------------- /src/decoder/test-data/no-termination-byte.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/src/decoder/test-data/no-termination-byte.png -------------------------------------------------------------------------------- /src/decoder/test-data/numeric.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/src/decoder/test-data/numeric.png -------------------------------------------------------------------------------- /src/extractor/test-data/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/src/extractor/test-data/input.png -------------------------------------------------------------------------------- /src/extractor/test-data/output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/src/extractor/test-data/output.png -------------------------------------------------------------------------------- /src/extractor/test.ts: -------------------------------------------------------------------------------- 1 | import { loadBinarized } from "../../tests/helpers"; 2 | import { BitMatrix } from "../BitMatrix"; 3 | import { extract } from "./"; 4 | 5 | function matricCompare(a: BitMatrix, b: BitMatrix) { 6 | if (!(a.height === b.height && a.width === b.width)) { 7 | return false; 8 | } 9 | for (let x = 0; x < a.width; x++) { 10 | for (let y = 0; y < a.height; y++) { 11 | if (a.get(x, y) !== b.get(x, y)) { 12 | return false; 13 | } 14 | } 15 | } 16 | return true; 17 | } 18 | 19 | describe("extract", () => { 20 | it("is a no-op when applied to an already extracted code", async () => { 21 | const data = await loadBinarized("./src/extractor/test-data/output.png"); 22 | const extracted = extract(data, { 23 | topLeft: { x: 3.5, y: 3.5 }, 24 | bottomLeft: { x: 3.5, y: 21.5 }, 25 | topRight: { x: 21.5, y: 3.5 }, 26 | alignmentPattern: { x: 18.5, y: 18.5 }, 27 | dimension: 25, 28 | }); 29 | expect(matricCompare(extracted.matrix, data)).toBeTruthy(); 30 | }); 31 | 32 | it("extracts a distorted QR code", async () => { 33 | const input = await loadBinarized("./src/extractor/test-data/input.png"); 34 | const expected = await loadBinarized("./src/extractor/test-data/output.png"); 35 | const extracted = extract(input, { 36 | topLeft: { x: 56, y: 94 }, 37 | bottomLeft: { x: 88, y: 268 }, 38 | topRight: { x: 275, y: 175 }, 39 | alignmentPattern: { x: 197, y: 315 }, 40 | dimension: 25, 41 | }); 42 | expect(matricCompare(extracted.matrix, expected)).toBeTruthy(); 43 | }); 44 | }); 45 | -------------------------------------------------------------------------------- /src/locator/test-data/damaged.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/src/locator/test-data/damaged.png -------------------------------------------------------------------------------- /src/locator/test-data/distorted-extreme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/src/locator/test-data/distorted-extreme.png -------------------------------------------------------------------------------- /src/locator/test-data/malformed-infinity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/src/locator/test-data/malformed-infinity.png -------------------------------------------------------------------------------- /src/locator/test-data/missing-finder-patterns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/src/locator/test-data/missing-finder-patterns.png -------------------------------------------------------------------------------- /src/locator/test-data/odd-skew.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/src/locator/test-data/odd-skew.png -------------------------------------------------------------------------------- /src/locator/test-data/perfect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/src/locator/test-data/perfect.png -------------------------------------------------------------------------------- /src/locator/test-data/real-world.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/src/locator/test-data/real-world.png -------------------------------------------------------------------------------- /src/locator/test-data/small-photo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/src/locator/test-data/small-photo.png -------------------------------------------------------------------------------- /tests/end-to-end-test.ts: -------------------------------------------------------------------------------- 1 | import * as fs from "fs-extra"; 2 | import * as path from "path"; 3 | import jsQR from "../src"; 4 | import { loadPng } from "../tests/helpers"; 5 | import * as helpers from "./helpers"; 6 | 7 | describe("end to end", async () => { 8 | const tests = fs.readdirSync(path.join("tests", "end-to-end")).filter((n) => !n.includes(".")); 9 | for (const t of tests) { 10 | it(t, async () => { 11 | const inputImage = await helpers.loadPng(path.join("tests", "end-to-end", t, "input.png")); 12 | const expectedOutput = JSON.parse(await fs.readFile(path.join("tests", "end-to-end", t, "output.json"), "utf8")); 13 | expect(jsQR(inputImage.data, inputImage.width, inputImage.height)).toEqual(expectedOutput); 14 | }); 15 | } 16 | }); 17 | -------------------------------------------------------------------------------- /tests/end-to-end/0/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/0/input.png -------------------------------------------------------------------------------- /tests/end-to-end/1/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/1/input.png -------------------------------------------------------------------------------- /tests/end-to-end/1/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 97, 11 | 100, 12 | 115, 13 | 105, 14 | 116, 15 | 101, 16 | 115, 17 | 46, 18 | 99, 19 | 111, 20 | 109, 21 | 46, 22 | 97, 23 | 117, 24 | 47, 25 | 63, 26 | 69, 27 | 61, 28 | 50, 29 | 56, 30 | 48 31 | ], 32 | "data": "http://adsites.com.au/?E=280", 33 | "chunks": [ 34 | { 35 | "type": "byte", 36 | "bytes": [ 37 | 104, 38 | 116, 39 | 116, 40 | 112, 41 | 58, 42 | 47, 43 | 47, 44 | 97, 45 | 100, 46 | 115, 47 | 105, 48 | 116, 49 | 101, 50 | 115, 51 | 46, 52 | 99, 53 | 111, 54 | 109, 55 | 46, 56 | 97, 57 | 117, 58 | 47, 59 | 63, 60 | 69, 61 | 61, 62 | 50, 63 | 56, 64 | 48 65 | ], 66 | "text": "http://adsites.com.au/?E=280" 67 | } 68 | ], 69 | "version": 3, 70 | "location": { 71 | "topRightCorner": { 72 | "x": 113.42608710225241, 73 | "y": 112.6525518412585 74 | }, 75 | "topLeftCorner": { 76 | "x": 68.61663289156108, 77 | "y": 111.93099954299421 78 | }, 79 | "bottomRightCorner": { 80 | "x": 112.83506232554757, 81 | "y": 157.67420240573884 82 | }, 83 | "bottomLeftCorner": { 84 | "x": 67.94799307253464, 85 | "y": 157.47154305895137 86 | }, 87 | "topRightFinderPattern": { 88 | "x": 108, 89 | "y": 118 90 | }, 91 | "topLeftFinderPattern": { 92 | "x": 74, 93 | "y": 117.5 94 | }, 95 | "bottomLeftFinderPattern": { 96 | "x": 73.5, 97 | "y": 152 98 | }, 99 | "bottomRightAlignmentPattern": { 100 | "x": 103, 101 | "y": 147.5 102 | } 103 | } 104 | } -------------------------------------------------------------------------------- /tests/end-to-end/10/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/10/input.png -------------------------------------------------------------------------------- /tests/end-to-end/10/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 103, 11 | 111, 12 | 111, 13 | 46, 14 | 98, 15 | 121, 16 | 47, 17 | 119, 18 | 107, 19 | 69, 20 | 116, 21 | 99, 22 | 111 23 | ], 24 | "data": "http://goo.by/wkEtco", 25 | "chunks": [ 26 | { 27 | "type": "byte", 28 | "bytes": [ 29 | 104, 30 | 116, 31 | 116, 32 | 112, 33 | 58, 34 | 47, 35 | 47, 36 | 103, 37 | 111, 38 | 111, 39 | 46, 40 | 98, 41 | 121, 42 | 47, 43 | 119, 44 | 107, 45 | 69, 46 | 116, 47 | 99, 48 | 111 49 | ], 50 | "text": "http://goo.by/wkEtco" 51 | } 52 | ], 53 | "version": 2, 54 | "location": { 55 | "topRightCorner": { 56 | "x": 154.85921217173825, 57 | "y": 86.89078782826178 58 | }, 59 | "topLeftCorner": { 60 | "x": 66.39929838307573, 61 | "y": 90.77826055986894 62 | }, 63 | "bottomRightCorner": { 64 | "x": 154.69686500102117, 65 | "y": 167.88317788821564 66 | }, 67 | "bottomLeftCorner": { 68 | "x": 68.0534742570113, 69 | "y": 173.69652574298868 70 | }, 71 | "topRightFinderPattern": { 72 | "x": 142.75, 73 | "y": 99 74 | }, 75 | "topLeftFinderPattern": { 76 | "x": 79.25, 77 | "y": 102 78 | }, 79 | "bottomLeftFinderPattern": { 80 | "x": 80.25, 81 | "y": 161.5 82 | }, 83 | "bottomRightAlignmentPattern": { 84 | "x": 132.5, 85 | "y": 148.5 86 | } 87 | } 88 | } -------------------------------------------------------------------------------- /tests/end-to-end/100/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/100/input.png -------------------------------------------------------------------------------- /tests/end-to-end/101/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/101/input.png -------------------------------------------------------------------------------- /tests/end-to-end/102/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/102/input.png -------------------------------------------------------------------------------- /tests/end-to-end/103/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/103/input.png -------------------------------------------------------------------------------- /tests/end-to-end/104/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/104/input.png -------------------------------------------------------------------------------- /tests/end-to-end/105/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/105/input.png -------------------------------------------------------------------------------- /tests/end-to-end/106/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/106/input.png -------------------------------------------------------------------------------- /tests/end-to-end/107/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/107/input.png -------------------------------------------------------------------------------- /tests/end-to-end/108/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/108/input.png -------------------------------------------------------------------------------- /tests/end-to-end/109/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/109/input.png -------------------------------------------------------------------------------- /tests/end-to-end/11/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/11/input.png -------------------------------------------------------------------------------- /tests/end-to-end/110/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/110/input.png -------------------------------------------------------------------------------- /tests/end-to-end/110/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://code.google.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 99, 39 | 111, 40 | 100, 41 | 101, 42 | 46, 43 | 103, 44 | 111, 45 | 111, 46 | 103, 47 | 108, 48 | 101, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://code.google.com" 55 | } 56 | ], 57 | "version": 3, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 192.29645687188014, 61 | "y": 64.54059914334923 62 | }, 63 | "topLeftCorner": { 64 | "x": 36.442384064000265, 65 | "y": 64.84151908310231 66 | }, 67 | "bottomRightCorner": { 68 | "x": 184.66602108611372, 69 | "y": 210.04018392109097 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 41.296350906375515, 73 | "y": 212.90314867277513 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 173, 77 | "y": 83.5 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 56, 81 | "y": 84 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 58.5, 85 | "y": 196 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 154, 89 | "y": 180 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/111/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/111/input.png -------------------------------------------------------------------------------- /tests/end-to-end/112/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/112/input.png -------------------------------------------------------------------------------- /tests/end-to-end/112/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109, 25 | 47, 26 | 112, 27 | 47, 28 | 122, 29 | 120, 30 | 105, 31 | 110, 32 | 103, 33 | 47 34 | ], 35 | "data": "http://code.google.com/p/zxing/", 36 | "chunks": [ 37 | { 38 | "type": "byte", 39 | "bytes": [ 40 | 104, 41 | 116, 42 | 116, 43 | 112, 44 | 58, 45 | 47, 46 | 47, 47 | 99, 48 | 111, 49 | 100, 50 | 101, 51 | 46, 52 | 103, 53 | 111, 54 | 111, 55 | 103, 56 | 108, 57 | 101, 58 | 46, 59 | 99, 60 | 111, 61 | 109, 62 | 47, 63 | 112, 64 | 47, 65 | 122, 66 | 120, 67 | 105, 68 | 110, 69 | 103, 70 | 47 71 | ], 72 | "text": "http://code.google.com/p/zxing/" 73 | } 74 | ], 75 | "version": 2, 76 | "location": { 77 | "topRightCorner": { 78 | "x": 172.9974580887248, 79 | "y": 50.4806027961024 80 | }, 81 | "topLeftCorner": { 82 | "x": 69.10836106121423, 83 | "y": 50.69366576973603 84 | }, 85 | "bottomRightCorner": { 86 | "x": 179.1016110784594, 87 | "y": 158.16798639727327 88 | }, 89 | "bottomLeftCorner": { 90 | "x": 70.5571004388054, 91 | "y": 156.74077039229 92 | }, 93 | "topRightFinderPattern": { 94 | "x": 159, 95 | "y": 65 96 | }, 97 | "topLeftFinderPattern": { 98 | "x": 83.75, 99 | "y": 65 100 | }, 101 | "bottomLeftFinderPattern": { 102 | "x": 85.25, 103 | "y": 141.5 104 | }, 105 | "bottomRightAlignmentPattern": { 106 | "x": 149.25, 107 | "y": 129 108 | } 109 | } 110 | } -------------------------------------------------------------------------------- /tests/end-to-end/113/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/113/input.png -------------------------------------------------------------------------------- /tests/end-to-end/114/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/114/input.png -------------------------------------------------------------------------------- /tests/end-to-end/115/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/115/input.png -------------------------------------------------------------------------------- /tests/end-to-end/116/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/116/input.png -------------------------------------------------------------------------------- /tests/end-to-end/117/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/117/input.png -------------------------------------------------------------------------------- /tests/end-to-end/118/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/118/input.png -------------------------------------------------------------------------------- /tests/end-to-end/119/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/119/input.png -------------------------------------------------------------------------------- /tests/end-to-end/12/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/12/input.png -------------------------------------------------------------------------------- /tests/end-to-end/12/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 115, 11 | 116, 12 | 97, 13 | 116, 14 | 105, 15 | 99, 16 | 114, 17 | 111, 18 | 111, 19 | 115, 20 | 116, 21 | 101, 22 | 114, 23 | 46, 24 | 99, 25 | 111, 26 | 109 27 | ], 28 | "data": "http://staticrooster.com", 29 | "chunks": [ 30 | { 31 | "type": "byte", 32 | "bytes": [ 33 | 104, 34 | 116, 35 | 116, 36 | 112, 37 | 58, 38 | 47, 39 | 47, 40 | 115, 41 | 116, 42 | 97, 43 | 116, 44 | 105, 45 | 99, 46 | 114, 47 | 111, 48 | 111, 49 | 115, 50 | 116, 51 | 101, 52 | 114, 53 | 46, 54 | 99, 55 | 111, 56 | 109 57 | ], 58 | "text": "http://staticrooster.com" 59 | } 60 | ], 61 | "version": 3, 62 | "location": { 63 | "topRightCorner": { 64 | "x": 237.76428896399324, 65 | "y": 74.93672169504744 66 | }, 67 | "topLeftCorner": { 68 | "x": 100.11746724286891, 69 | "y": 74.91405697047993 70 | }, 71 | "bottomRightCorner": { 72 | "x": 236.135297409147, 73 | "y": 210.55088481136232 74 | }, 75 | "bottomLeftCorner": { 76 | "x": 100.34166250857605, 77 | "y": 210.71159483565148 78 | }, 79 | "topRightFinderPattern": { 80 | "x": 221, 81 | "y": 91.5 82 | }, 83 | "topLeftFinderPattern": { 84 | "x": 116.75, 85 | "y": 91.5 86 | }, 87 | "bottomLeftFinderPattern": { 88 | "x": 116.75, 89 | "y": 194.5 90 | }, 91 | "bottomRightAlignmentPattern": { 92 | "x": 206, 93 | "y": 180.5 94 | } 95 | } 96 | } -------------------------------------------------------------------------------- /tests/end-to-end/120/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/120/input.png -------------------------------------------------------------------------------- /tests/end-to-end/121/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/121/input.png -------------------------------------------------------------------------------- /tests/end-to-end/121/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://code.google.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 99, 39 | 111, 40 | 100, 41 | 101, 42 | 46, 43 | 103, 44 | 111, 45 | 111, 46 | 103, 47 | 108, 48 | 101, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://code.google.com" 55 | } 56 | ], 57 | "version": 3, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 197.90580369916088, 61 | "y": 43.82486985953479 62 | }, 63 | "topLeftCorner": { 64 | "x": 41.90432276554271, 65 | "y": 44.45571835949273 66 | }, 67 | "bottomRightCorner": { 68 | "x": 189.3657175008132, 69 | "y": 191.53997397779318 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 44.00766737802927, 73 | "y": 202.0071084765438 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 179.25, 77 | "y": 63 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 62, 81 | "y": 64.5 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 62.5, 85 | "y": 183 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 159.75, 89 | "y": 162 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/122/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/122/input.png -------------------------------------------------------------------------------- /tests/end-to-end/123/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/123/input.png -------------------------------------------------------------------------------- /tests/end-to-end/124/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/124/input.png -------------------------------------------------------------------------------- /tests/end-to-end/125/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/125/input.png -------------------------------------------------------------------------------- /tests/end-to-end/126/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/126/input.png -------------------------------------------------------------------------------- /tests/end-to-end/127/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/127/input.png -------------------------------------------------------------------------------- /tests/end-to-end/128/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/128/input.png -------------------------------------------------------------------------------- /tests/end-to-end/129/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/129/input.png -------------------------------------------------------------------------------- /tests/end-to-end/13/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/13/input.png -------------------------------------------------------------------------------- /tests/end-to-end/13/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://code.google.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 99, 39 | 111, 40 | 100, 41 | 101, 42 | 46, 43 | 103, 44 | 111, 45 | 111, 46 | 103, 47 | 108, 48 | 101, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://code.google.com" 55 | } 56 | ], 57 | "version": 3, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 175.85197283344482, 61 | "y": 55.626182992077744 62 | }, 63 | "topLeftCorner": { 64 | "x": 54.15868823332431, 65 | "y": 54.797900515923665 66 | }, 67 | "bottomRightCorner": { 68 | "x": 175.85352842287247, 69 | "y": 179.5542461190454 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 49.271255206963, 73 | "y": 180.2290769056458 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 161.25, 77 | "y": 70 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 68.5, 81 | "y": 69.5 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 65.25, 85 | "y": 164.5 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 148, 89 | "y": 151 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/130/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/130/input.png -------------------------------------------------------------------------------- /tests/end-to-end/131/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/131/input.png -------------------------------------------------------------------------------- /tests/end-to-end/132/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/132/input.png -------------------------------------------------------------------------------- /tests/end-to-end/132/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://code.google.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 99, 39 | 111, 40 | 100, 41 | 101, 42 | 46, 43 | 103, 44 | 111, 45 | 111, 46 | 103, 47 | 108, 48 | 101, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://code.google.com" 55 | } 56 | ], 57 | "version": 3, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 204.88723166738666, 61 | "y": 43.43296781825449 62 | }, 63 | "topLeftCorner": { 64 | "x": 44.54772719056792, 65 | "y": 39.95657080000206 66 | }, 67 | "bottomRightCorner": { 68 | "x": 190.936852255263, 69 | "y": 200.7570605083718 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 44.505930536998555, 73 | "y": 193.91418863195193 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 183.5, 77 | "y": 63.5 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 63.25, 81 | "y": 60.5 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 62, 85 | "y": 177.5 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 159.75, 89 | "y": 166.5 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/133/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/133/input.png -------------------------------------------------------------------------------- /tests/end-to-end/134/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/134/input.png -------------------------------------------------------------------------------- /tests/end-to-end/135/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/135/input.png -------------------------------------------------------------------------------- /tests/end-to-end/136/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/136/input.png -------------------------------------------------------------------------------- /tests/end-to-end/136/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 49, 4 | 50, 5 | 51, 6 | 52, 7 | 53, 8 | 54, 9 | 55, 10 | 56, 11 | 57, 12 | 48 13 | ], 14 | "data": "1234567890", 15 | "chunks": [ 16 | { 17 | "type": "numeric", 18 | "text": "1234567890" 19 | } 20 | ], 21 | "version": 1, 22 | "location": { 23 | "topRightCorner": { 24 | "x": 293.0625, 25 | "y": 239.12499999999997 26 | }, 27 | "topLeftCorner": { 28 | "x": 238.5975578681334, 29 | "y": 207.28587392902762 30 | }, 31 | "bottomRightCorner": { 32 | "x": 261.133051886931, 33 | "y": 292.2557694097396 34 | }, 35 | "bottomLeftCorner": { 36 | "x": 207.18750000000003, 37 | "y": 262.375 38 | }, 39 | "topRightFinderPattern": { 40 | "x": 278.75, 41 | "y": 243 42 | }, 43 | "topLeftFinderPattern": { 44 | "x": 242.5, 45 | "y": 222 46 | }, 47 | "bottomLeftFinderPattern": { 48 | "x": 221.5, 49 | "y": 258.5 50 | }, 51 | "bottomRightAlignmentPattern": { 52 | "x": 254.37785460171034, 53 | "y": 266.78535341628486 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /tests/end-to-end/137/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/137/input.png -------------------------------------------------------------------------------- /tests/end-to-end/137/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 49, 4 | 50, 5 | 51, 6 | 52, 7 | 53, 8 | 54, 9 | 55, 10 | 56, 11 | 57, 12 | 48 13 | ], 14 | "data": "1234567890", 15 | "chunks": [ 16 | { 17 | "type": "numeric", 18 | "text": "1234567890" 19 | } 20 | ], 21 | "version": 1, 22 | "location": { 23 | "topRightCorner": { 24 | "x": 206.62500000000006, 25 | "y": 260.87500000000006 26 | }, 27 | "topLeftCorner": { 28 | "x": 262.7952764055817, 29 | "y": 292.8584954129445 30 | }, 31 | "bottomRightCorner": { 32 | "x": 236.2113048795682, 33 | "y": 203.99207631169935 34 | }, 35 | "bottomLeftCorner": { 36 | "x": 292.87500000000006, 37 | "y": 237.62500000000003 38 | }, 39 | "topRightFinderPattern": { 40 | "x": 221, 41 | "y": 257 42 | }, 43 | "topLeftFinderPattern": { 44 | "x": 258.5, 45 | "y": 278.5 46 | }, 47 | "bottomLeftFinderPattern": { 48 | "x": 278.5, 49 | "y": 241.5 50 | }, 51 | "bottomRightAlignmentPattern": { 52 | "x": 244.6520846349197, 53 | "y": 232.20839720816014 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /tests/end-to-end/138/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/138/input.png -------------------------------------------------------------------------------- /tests/end-to-end/138/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 49, 4 | 50, 5 | 51, 6 | 52, 7 | 53, 8 | 54, 9 | 55, 10 | 56, 11 | 57, 12 | 48 13 | ], 14 | "data": "1234567890", 15 | "chunks": [ 16 | { 17 | "type": "numeric", 18 | "text": "1234567890" 19 | } 20 | ], 21 | "version": 1, 22 | "location": { 23 | "topRightCorner": { 24 | "x": 206.9375, 25 | "y": 260.875 26 | }, 27 | "topLeftCorner": { 28 | "x": 261.3557756206376, 29 | "y": 292.5381703728957 30 | }, 31 | "bottomRightCorner": { 32 | "x": 238.6490749364027, 33 | "y": 206.92274156348552 34 | }, 35 | "bottomLeftCorner": { 36 | "x": 292.81250000000006, 37 | "y": 237.625 38 | }, 39 | "topRightFinderPattern": { 40 | "x": 221.25, 41 | "y": 257 42 | }, 43 | "topLeftFinderPattern": { 44 | "x": 257.5, 45 | "y": 278 46 | }, 47 | "bottomLeftFinderPattern": { 48 | "x": 278.5, 49 | "y": 241.5 50 | }, 51 | "bottomRightAlignmentPattern": { 52 | "x": 245.56887048816236, 53 | "y": 233.01377397175972 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /tests/end-to-end/139/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/139/input.png -------------------------------------------------------------------------------- /tests/end-to-end/139/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 49, 4 | 50, 5 | 51, 6 | 52, 7 | 53, 8 | 54, 9 | 55, 10 | 56, 11 | 57, 12 | 48 13 | ], 14 | "data": "1234567890", 15 | "chunks": [ 16 | { 17 | "type": "numeric", 18 | "text": "1234567890" 19 | } 20 | ], 21 | "version": 1, 22 | "location": { 23 | "topRightCorner": { 24 | "x": 206.43749999999997, 25 | "y": 258.25 26 | }, 27 | "topLeftCorner": { 28 | "x": 257.478752369052, 29 | "y": 292.99116769599647 30 | }, 31 | "bottomRightCorner": { 32 | "x": 243.01200885020947, 33 | "y": 208.4163594319938 34 | }, 35 | "bottomLeftCorner": { 36 | "x": 293.8125, 37 | "y": 241.75 38 | }, 39 | "topRightFinderPattern": { 40 | "x": 221, 41 | "y": 255.5 42 | }, 43 | "topLeftFinderPattern": { 44 | "x": 255, 45 | "y": 278.5 46 | }, 47 | "bottomLeftFinderPattern": { 48 | "x": 279.25, 49 | "y": 244.5 50 | }, 51 | "bottomRightAlignmentPattern": { 52 | "x": 247.3875483451124, 53 | "y": 233.99643647911864 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /tests/end-to-end/14/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/14/input.png -------------------------------------------------------------------------------- /tests/end-to-end/14/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 77, 4 | 111, 5 | 114, 6 | 100, 7 | 101, 8 | 110 9 | ], 10 | "data": "Morden", 11 | "chunks": [ 12 | { 13 | "type": "byte", 14 | "bytes": [ 15 | 77, 16 | 111, 17 | 114, 18 | 100, 19 | 101, 20 | 110 21 | ], 22 | "text": "Morden" 23 | } 24 | ], 25 | "version": 1, 26 | "location": { 27 | "topRightCorner": { 28 | "x": 175, 29 | "y": 28 30 | }, 31 | "topLeftCorner": { 32 | "x": 28, 33 | "y": 28 34 | }, 35 | "bottomRightCorner": { 36 | "x": 175, 37 | "y": 175 38 | }, 39 | "bottomLeftCorner": { 40 | "x": 28, 41 | "y": 175 42 | }, 43 | "topRightFinderPattern": { 44 | "x": 150.5, 45 | "y": 52.5 46 | }, 47 | "topLeftFinderPattern": { 48 | "x": 52.5, 49 | "y": 52.5 50 | }, 51 | "bottomLeftFinderPattern": { 52 | "x": 52.5, 53 | "y": 150.5 54 | }, 55 | "bottomRightAlignmentPattern": { 56 | "x": 129.5, 57 | "y": 129.5 58 | } 59 | } 60 | } -------------------------------------------------------------------------------- /tests/end-to-end/140/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/140/input.png -------------------------------------------------------------------------------- /tests/end-to-end/141/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/141/input.png -------------------------------------------------------------------------------- /tests/end-to-end/141/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/142/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/142/input.png -------------------------------------------------------------------------------- /tests/end-to-end/142/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 49, 4 | 50, 5 | 51, 6 | 52, 7 | 53, 8 | 54, 9 | 55, 10 | 56, 11 | 57, 12 | 48 13 | ], 14 | "data": "1234567890", 15 | "chunks": [ 16 | { 17 | "type": "numeric", 18 | "text": "1234567890" 19 | } 20 | ], 21 | "version": 1, 22 | "location": { 23 | "topRightCorner": { 24 | "x": 258.0624999999999, 25 | "y": 206.99999999999994 26 | }, 27 | "topLeftCorner": { 28 | "x": 206.7850177832688, 29 | "y": 241.44234135756233 30 | }, 31 | "bottomRightCorner": { 32 | "x": 292.35144563687794, 33 | "y": 259.2223783141564 34 | }, 35 | "bottomLeftCorner": { 36 | "x": 242.68749999999994, 37 | "y": 293.99999999999994 38 | }, 39 | "topRightFinderPattern": { 40 | "x": 255.5, 41 | "y": 221.5 42 | }, 43 | "topLeftFinderPattern": { 44 | "x": 221.5, 45 | "y": 244.5 46 | }, 47 | "bottomLeftFinderPattern": { 48 | "x": 245.25, 49 | "y": 279.5 50 | }, 51 | "bottomRightAlignmentPattern": { 52 | "x": 266.5513660527376, 53 | "y": 253.86132281615326 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /tests/end-to-end/143/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/143/input.png -------------------------------------------------------------------------------- /tests/end-to-end/143/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://code.google.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 99, 39 | 111, 40 | 100, 41 | 101, 42 | 46, 43 | 103, 44 | 111, 45 | 111, 46 | 103, 47 | 108, 48 | 101, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://code.google.com" 55 | } 56 | ], 57 | "version": 3, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 185.40340508266686, 61 | "y": 58.498877267922694 62 | }, 63 | "topLeftCorner": { 64 | "x": 62.94938227658657, 65 | "y": 61.53513250876179 66 | }, 67 | "bottomRightCorner": { 68 | "x": 184.0645372132947, 69 | "y": 179.99258812083997 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 65.77479458063016, 73 | "y": 185.04815118743258 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 170.75, 77 | "y": 74 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 78.25, 81 | "y": 76.5 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 80, 85 | "y": 170 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 158, 89 | "y": 154.5 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/144/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/144/input.png -------------------------------------------------------------------------------- /tests/end-to-end/144/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 84, 4 | 69, 5 | 83, 6 | 84 7 | ], 8 | "data": "TEST", 9 | "chunks": [ 10 | { 11 | "type": "alphanumeric", 12 | "text": "TEST" 13 | } 14 | ], 15 | "version": 4, 16 | "location": { 17 | "topRightCorner": { 18 | "x": 28.304930965658343, 19 | "y": 244.6544190676206 20 | }, 21 | "topLeftCorner": { 22 | "x": 21.165012324749235, 23 | "y": 935.5281546918073 24 | }, 25 | "bottomRightCorner": { 26 | "x": 739.7185736323866, 27 | "y": 232.49332926374248 28 | }, 29 | "bottomLeftCorner": { 30 | "x": 741.1684773445832, 31 | "y": 976.8875317401377 32 | }, 33 | "topRightFinderPattern": { 34 | "x": 98.25, 35 | "y": 316.5 36 | }, 37 | "topLeftFinderPattern": { 38 | "x": 93.25, 39 | "y": 865 40 | }, 41 | "bottomLeftFinderPattern": { 42 | "x": 659.5, 43 | "y": 893 44 | }, 45 | "bottomRightAlignmentPattern": { 46 | "x": 591, 47 | "y": 378 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /tests/end-to-end/145/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/145/input.png -------------------------------------------------------------------------------- /tests/end-to-end/145/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 49, 4 | 50, 5 | 51, 6 | 52, 7 | 53, 8 | 54, 9 | 55, 10 | 56, 11 | 57, 12 | 48 13 | ], 14 | "data": "1234567890", 15 | "chunks": [ 16 | { 17 | "type": "numeric", 18 | "text": "1234567890" 19 | } 20 | ], 21 | "version": 1, 22 | "location": { 23 | "topRightCorner": { 24 | "x": 293.75, 25 | "y": 240.625 26 | }, 27 | "topLeftCorner": { 28 | "x": 240.46090491449345, 29 | "y": 207.45207942949023 30 | }, 31 | "bottomRightCorner": { 32 | "x": 259.80911693537985, 33 | "y": 293.03070952187244 34 | }, 35 | "bottomLeftCorner": { 36 | "x": 206.75, 37 | "y": 260.87500000000006 38 | }, 39 | "topRightFinderPattern": { 40 | "x": 279.25, 41 | "y": 244 42 | }, 43 | "topLeftFinderPattern": { 44 | "x": 243.75, 45 | "y": 222 46 | }, 47 | "bottomLeftFinderPattern": { 48 | "x": 221.25, 49 | "y": 257.5 50 | }, 51 | "bottomRightAlignmentPattern": { 52 | "x": 253.9182428491664, 53 | "y": 266.9749202943899 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /tests/end-to-end/146/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/146/input.png -------------------------------------------------------------------------------- /tests/end-to-end/146/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 49, 4 | 50, 5 | 51, 6 | 52, 7 | 53, 8 | 54, 9 | 55, 10 | 56, 11 | 57, 12 | 48 13 | ], 14 | "data": "1234567890", 15 | "chunks": [ 16 | { 17 | "type": "numeric", 18 | "text": "1234567890" 19 | } 20 | ], 21 | "version": 1, 22 | "location": { 23 | "topRightCorner": { 24 | "x": 291.75000000000006, 25 | "y": 264.62500000000006 26 | }, 27 | "topLeftCorner": { 28 | "x": 263.2573996865567, 29 | "y": 207.60136211238833 30 | }, 31 | "bottomRightCorner": { 32 | "x": 236.28687715306182, 33 | "y": 293.7571979832748 34 | }, 35 | "bottomLeftCorner": { 36 | "x": 207.75000000000006, 37 | "y": 236.87500000000003 38 | }, 39 | "topRightFinderPattern": { 40 | "x": 277.75, 41 | "y": 260 42 | }, 43 | "topLeftFinderPattern": { 44 | "x": 258.75, 45 | "y": 222 46 | }, 47 | "bottomLeftFinderPattern": { 48 | "x": 221.75, 49 | "y": 241.5 50 | }, 51 | "bottomRightAlignmentPattern": { 52 | "x": 244.6159822732343, 53 | "y": 267.15033440494597 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /tests/end-to-end/147/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/147/input.png -------------------------------------------------------------------------------- /tests/end-to-end/147/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 49, 4 | 50, 5 | 51, 6 | 52, 7 | 53, 8 | 54, 9 | 55, 10 | 56, 11 | 57, 12 | 48 13 | ], 14 | "data": "1234567890", 15 | "chunks": [ 16 | { 17 | "type": "numeric", 18 | "text": "1234567890" 19 | } 20 | ], 21 | "version": 1, 22 | "location": { 23 | "topRightCorner": { 24 | "x": 265.375, 25 | "y": 291.875 26 | }, 27 | "topLeftCorner": { 28 | "x": 291.148579826756, 29 | "y": 234.0190186256711 30 | }, 31 | "bottomRightCorner": { 32 | "x": 208.94100266098684, 33 | "y": 265.8651971673654 34 | }, 35 | "bottomLeftCorner": { 36 | "x": 233.12499999999997, 37 | "y": 208.62499999999997 38 | }, 39 | "topRightFinderPattern": { 40 | "x": 260, 41 | "y": 278 42 | }, 43 | "topLeftFinderPattern": { 44 | "x": 277, 45 | "y": 239.5 46 | }, 47 | "bottomLeftFinderPattern": { 48 | "x": 238.5, 49 | "y": 222.5 50 | }, 51 | "bottomRightAlignmentPattern": { 52 | "x": 233.7117260566014, 53 | "y": 256.2693313474427 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /tests/end-to-end/148/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/148/input.png -------------------------------------------------------------------------------- /tests/end-to-end/148/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 49, 4 | 50, 5 | 51, 6 | 52, 7 | 53, 8 | 54, 9 | 55, 10 | 56, 11 | 57, 12 | 48 13 | ], 14 | "data": "1234567890", 15 | "chunks": [ 16 | { 17 | "type": "numeric", 18 | "text": "1234567890" 19 | } 20 | ], 21 | "version": 1, 22 | "location": { 23 | "topRightCorner": { 24 | "x": 263.49999999999994, 25 | "y": 291.375 26 | }, 27 | "topLeftCorner": { 28 | "x": 290.79762807324306, 29 | "y": 234.26604686604492 30 | }, 31 | "bottomRightCorner": { 32 | "x": 207.9274477212262, 33 | "y": 264.60245217347966 34 | }, 35 | "bottomLeftCorner": { 36 | "x": 233.49999999999997, 37 | "y": 208.125 38 | }, 39 | "topRightFinderPattern": { 40 | "x": 258.5, 41 | "y": 277.5 42 | }, 43 | "topLeftFinderPattern": { 44 | "x": 276.5, 45 | "y": 239.5 46 | }, 47 | "bottomLeftFinderPattern": { 48 | "x": 238.5, 49 | "y": 222 50 | }, 51 | "bottomRightAlignmentPattern": { 52 | "x": 232.84618068755663, 53 | "y": 255.48041599830515 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /tests/end-to-end/149/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/149/input.png -------------------------------------------------------------------------------- /tests/end-to-end/149/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 49, 4 | 50, 5 | 51, 6 | 52, 7 | 53, 8 | 54, 9 | 55, 10 | 56, 11 | 57, 12 | 48 13 | ], 14 | "data": "1234567890", 15 | "chunks": [ 16 | { 17 | "type": "numeric", 18 | "text": "1234567890" 19 | } 20 | ], 21 | "version": 1, 22 | "location": { 23 | "topRightCorner": { 24 | "x": 269.5, 25 | "y": 306.25 26 | }, 27 | "topLeftCorner": { 28 | "x": 306.3830660295021, 29 | "y": 230.45387044310593 30 | }, 31 | "bottomRightCorner": { 32 | "x": 194.40601880693285, 33 | "y": 269.27258014693 34 | }, 35 | "bottomLeftCorner": { 36 | "x": 230.50000000000003, 37 | "y": 193.75 38 | }, 39 | "topRightFinderPattern": { 40 | "x": 263, 41 | "y": 287.5 42 | }, 43 | "topLeftFinderPattern": { 44 | "x": 287.5, 45 | "y": 237 46 | }, 47 | "bottomLeftFinderPattern": { 48 | "x": 237, 49 | "y": 212.5 50 | }, 51 | "bottomRightAlignmentPattern": { 52 | "x": 228.7291995012294, 53 | "y": 257.3738775062405 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /tests/end-to-end/15/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/15/input.png -------------------------------------------------------------------------------- /tests/end-to-end/150/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/150/input.png -------------------------------------------------------------------------------- /tests/end-to-end/150/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/151/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/151/input.png -------------------------------------------------------------------------------- /tests/end-to-end/151/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 49, 4 | 50, 5 | 51, 6 | 52, 7 | 53, 8 | 54, 9 | 55, 10 | 56, 11 | 57, 12 | 48 13 | ], 14 | "data": "1234567890", 15 | "chunks": [ 16 | { 17 | "type": "numeric", 18 | "text": "1234567890" 19 | } 20 | ], 21 | "version": 1, 22 | "location": { 23 | "topRightCorner": { 24 | "x": 208.50000000000003, 25 | "y": 265.37500000000006 26 | }, 27 | "topLeftCorner": { 28 | "x": 266.5500412397615, 29 | "y": 291.4367702242901 30 | }, 31 | "bottomRightCorner": { 32 | "x": 232.48994367626585, 33 | "y": 205.90808078706766 34 | }, 35 | "bottomLeftCorner": { 36 | "x": 291, 37 | "y": 233.125 38 | }, 39 | "topRightFinderPattern": { 40 | "x": 222.25, 41 | "y": 260 42 | }, 43 | "topLeftFinderPattern": { 44 | "x": 261, 45 | "y": 277.5 46 | }, 47 | "bottomLeftFinderPattern": { 48 | "x": 277.25, 49 | "y": 238.5 50 | }, 51 | "bottomRightAlignmentPattern": { 52 | "x": 243.22999949827894, 53 | "y": 232.87755429567827 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /tests/end-to-end/152/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/152/input.png -------------------------------------------------------------------------------- /tests/end-to-end/153/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/153/input.png -------------------------------------------------------------------------------- /tests/end-to-end/153/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 49, 4 | 50, 5 | 51, 6 | 52, 7 | 53, 8 | 54, 9 | 55, 10 | 56, 11 | 57, 12 | 48 13 | ], 14 | "data": "1234567890", 15 | "chunks": [ 16 | { 17 | "type": "numeric", 18 | "text": "1234567890" 19 | } 20 | ], 21 | "version": 1, 22 | "location": { 23 | "topRightCorner": { 24 | "x": 207.6875, 25 | "y": 264.5 26 | }, 27 | "topLeftCorner": { 28 | "x": 265.1295777168158, 29 | "y": 291.68549887119434 30 | }, 31 | "bottomRightCorner": { 32 | "x": 235.01423028423466, 33 | "y": 208.40355041566144 34 | }, 35 | "bottomLeftCorner": { 36 | "x": 292.0625, 37 | "y": 234.5 38 | }, 39 | "topRightFinderPattern": { 40 | "x": 221.75, 41 | "y": 259.5 42 | }, 43 | "topLeftFinderPattern": { 44 | "x": 260, 45 | "y": 277.5 46 | }, 47 | "bottomLeftFinderPattern": { 48 | "x": 278, 49 | "y": 239.5 50 | }, 51 | "bottomRightAlignmentPattern": { 52 | "x": 244.1681533685537, 53 | "y": 233.71810314266708 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /tests/end-to-end/154/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/154/input.png -------------------------------------------------------------------------------- /tests/end-to-end/154/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://code.google.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 99, 39 | 111, 40 | 100, 41 | 101, 42 | 46, 43 | 103, 44 | 111, 45 | 111, 46 | 103, 47 | 108, 48 | 101, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://code.google.com" 55 | } 56 | ], 57 | "version": 3, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 195.06791720186337, 61 | "y": 50.163843106065535 62 | }, 63 | "topLeftCorner": { 64 | "x": 52.65835750346371, 65 | "y": 52.44512408472853 66 | }, 67 | "bottomRightCorner": { 68 | "x": 197.04178129982932, 69 | "y": 192.6599975877607 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 57.29584684590438, 73 | "y": 203.0974331662688 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 179, 77 | "y": 68 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 71.25, 81 | "y": 70.5 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 74.5, 85 | "y": 184 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 166.5, 89 | "y": 163 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/155/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/155/input.png -------------------------------------------------------------------------------- /tests/end-to-end/155/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 1, 4 | 1, 5 | 82, 6 | 197, 7 | 233, 8 | 208, 9 | 230, 10 | 237, 11 | 6, 12 | 148, 13 | 33, 14 | 45, 15 | 106, 16 | 4, 17 | 253, 18 | 253, 19 | 156, 20 | 25, 21 | 34, 22 | 149, 23 | 17, 24 | 54, 25 | 58, 26 | 237, 27 | 123, 28 | 140 29 | ], 30 | "data": "", 31 | "chunks": [ 32 | { 33 | "type": "byte", 34 | "bytes": [ 35 | 1, 36 | 1, 37 | 82, 38 | 197, 39 | 233, 40 | 208, 41 | 230, 42 | 237, 43 | 6, 44 | 148, 45 | 33, 46 | 45, 47 | 106, 48 | 4, 49 | 253, 50 | 253, 51 | 156, 52 | 25, 53 | 34, 54 | 149, 55 | 17, 56 | 54, 57 | 58, 58 | 237, 59 | 123, 60 | 140 61 | ], 62 | "text": "" 63 | } 64 | ], 65 | "version": 2, 66 | "location": { 67 | "topRightCorner": { 68 | "x": 149.54736268229522, 69 | "y": 7.550429330789149 70 | }, 71 | "topLeftCorner": { 72 | "x": 7.258718498703925, 73 | "y": 7.758718498703921 74 | }, 75 | "bottomRightCorner": { 76 | "x": 150.00693753577673, 77 | "y": 150.50693753577676 78 | }, 79 | "bottomLeftCorner": { 80 | "x": 7.18546094490321, 81 | "y": 149.21788276702316 82 | }, 83 | "topRightFinderPattern": { 84 | "x": 129.5, 85 | "y": 27.5 86 | }, 87 | "topLeftFinderPattern": { 88 | "x": 27, 89 | "y": 27.5 90 | }, 91 | "bottomLeftFinderPattern": { 92 | "x": 27, 93 | "y": 129.5 94 | }, 95 | "bottomRightAlignmentPattern": { 96 | "x": 112.5, 97 | "y": 113 98 | } 99 | } 100 | } -------------------------------------------------------------------------------- /tests/end-to-end/156/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/156/input.png -------------------------------------------------------------------------------- /tests/end-to-end/157/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/157/input.png -------------------------------------------------------------------------------- /tests/end-to-end/158/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/158/input.png -------------------------------------------------------------------------------- /tests/end-to-end/159/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/159/input.png -------------------------------------------------------------------------------- /tests/end-to-end/159/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 105, 11 | 102, 12 | 46, 13 | 103, 14 | 115, 15 | 47, 16 | 49, 17 | 66, 18 | 71, 19 | 73, 20 | 74, 21 | 51, 22 | 55 23 | ], 24 | "data": "http://if.gs/1BGIJ37", 25 | "chunks": [ 26 | { 27 | "type": "byte", 28 | "bytes": [ 29 | 104, 30 | 116, 31 | 116, 32 | 112, 33 | 58, 34 | 47, 35 | 47, 36 | 105, 37 | 102, 38 | 46, 39 | 103, 40 | 115, 41 | 47, 42 | 49, 43 | 66, 44 | 71, 45 | 73, 46 | 74, 47 | 51, 48 | 55 49 | ], 50 | "text": "http://if.gs/1BGIJ37" 51 | } 52 | ], 53 | "version": 2, 54 | "location": { 55 | "topRightCorner": { 56 | "x": 192.13709892609523, 57 | "y": 48.223006933356665 58 | }, 59 | "topLeftCorner": { 60 | "x": 130.07173997794536, 61 | "y": 39.69558684295532 62 | }, 63 | "bottomRightCorner": { 64 | "x": 184.35294878454738, 65 | "y": 106.82196719921126 66 | }, 67 | "bottomLeftCorner": { 68 | "x": 124.08010403401609, 69 | "y": 99.6129826681919 70 | }, 71 | "topRightFinderPattern": { 72 | "x": 182.5, 73 | "y": 55.5 74 | }, 75 | "topLeftFinderPattern": { 76 | "x": 138, 77 | "y": 49.5 78 | }, 79 | "bottomLeftFinderPattern": { 80 | "x": 133.5, 81 | "y": 92.5 82 | }, 83 | "bottomRightAlignmentPattern": { 84 | "x": 170.75, 85 | "y": 90 86 | } 87 | } 88 | } -------------------------------------------------------------------------------- /tests/end-to-end/16/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/16/input.png -------------------------------------------------------------------------------- /tests/end-to-end/160/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/160/input.png -------------------------------------------------------------------------------- /tests/end-to-end/161/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/161/input.png -------------------------------------------------------------------------------- /tests/end-to-end/162/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/162/input.png -------------------------------------------------------------------------------- /tests/end-to-end/163/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/163/input.png -------------------------------------------------------------------------------- /tests/end-to-end/164/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/164/input.png -------------------------------------------------------------------------------- /tests/end-to-end/165/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/165/input.png -------------------------------------------------------------------------------- /tests/end-to-end/165/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://code.google.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 99, 39 | 111, 40 | 100, 41 | 101, 42 | 46, 43 | 103, 44 | 111, 45 | 111, 46 | 103, 47 | 108, 48 | 101, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://code.google.com" 55 | } 56 | ], 57 | "version": 3, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 186.79023267431245, 61 | "y": 52.84477921454826 62 | }, 63 | "topLeftCorner": { 64 | "x": 62.16492979550765, 65 | "y": 62.48550692341947 66 | }, 67 | "bottomRightCorner": { 68 | "x": 188.65463728249023, 69 | "y": 192.8316079313466 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 61.20436689970783, 73 | "y": 193.263621261744 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 171, 77 | "y": 70.5 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 76.25, 81 | "y": 77 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 75.75, 85 | "y": 177 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 158.25, 89 | "y": 161.5 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/166/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/166/input.png -------------------------------------------------------------------------------- /tests/end-to-end/167/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/167/input.png -------------------------------------------------------------------------------- /tests/end-to-end/168/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/168/input.png -------------------------------------------------------------------------------- /tests/end-to-end/168/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 98, 11 | 98, 12 | 99, 13 | 46, 14 | 99, 15 | 111, 16 | 46, 17 | 117, 18 | 107, 19 | 47, 20 | 112, 21 | 114, 22 | 111, 23 | 103, 24 | 114, 25 | 97, 26 | 109, 27 | 109, 28 | 101, 29 | 115 30 | ], 31 | "data": "http://bbc.co.uk/programmes", 32 | "chunks": [ 33 | { 34 | "type": "byte", 35 | "bytes": [ 36 | 104, 37 | 116, 38 | 116, 39 | 112, 40 | 58, 41 | 47, 42 | 47, 43 | 98, 44 | 98, 45 | 99, 46 | 46, 47 | 99, 48 | 111, 49 | 46, 50 | 117, 51 | 107, 52 | 47, 53 | 112, 54 | 114, 55 | 111, 56 | 103, 57 | 114, 58 | 97, 59 | 109, 60 | 109, 61 | 101, 62 | 115 63 | ], 64 | "text": "http://bbc.co.uk/programmes" 65 | } 66 | ], 67 | "version": 5, 68 | "location": { 69 | "topRightCorner": { 70 | "x": 418, 71 | "y": 11 72 | }, 73 | "topLeftCorner": { 74 | "x": 11, 75 | "y": 11 76 | }, 77 | "bottomRightCorner": { 78 | "x": 418, 79 | "y": 418 80 | }, 81 | "bottomLeftCorner": { 82 | "x": 11, 83 | "y": 418 84 | }, 85 | "topRightFinderPattern": { 86 | "x": 379.5, 87 | "y": 49.5 88 | }, 89 | "topLeftFinderPattern": { 90 | "x": 49.5, 91 | "y": 49.5 92 | }, 93 | "bottomLeftFinderPattern": { 94 | "x": 49.5, 95 | "y": 379.5 96 | }, 97 | "bottomRightAlignmentPattern": { 98 | "x": 346.5, 99 | "y": 346.5 100 | } 101 | } 102 | } -------------------------------------------------------------------------------- /tests/end-to-end/169/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/169/input.png -------------------------------------------------------------------------------- /tests/end-to-end/17/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/17/input.png -------------------------------------------------------------------------------- /tests/end-to-end/170/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/170/input.png -------------------------------------------------------------------------------- /tests/end-to-end/171/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/171/input.png -------------------------------------------------------------------------------- /tests/end-to-end/171/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/172/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/172/input.png -------------------------------------------------------------------------------- /tests/end-to-end/172/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 195, 4 | 222, 5 | 187, 6 | 222, 7 | 178, 8 | 221, 9 | 81, 10 | 82, 11 | 13, 12 | 10, 13 | 104, 14 | 116, 15 | 116, 16 | 112, 17 | 58, 18 | 47, 19 | 47, 20 | 100, 21 | 45, 22 | 113, 23 | 114, 24 | 46, 25 | 110, 26 | 101, 27 | 116, 28 | 47, 29 | 101, 30 | 120, 31 | 47 32 | ], 33 | "data": "", 34 | "chunks": [ 35 | { 36 | "type": "byte", 37 | "bytes": [ 38 | 195, 39 | 222, 40 | 187, 41 | 222, 42 | 178, 43 | 221, 44 | 81, 45 | 82, 46 | 13, 47 | 10, 48 | 104, 49 | 116, 50 | 116, 51 | 112, 52 | 58, 53 | 47, 54 | 47, 55 | 100, 56 | 45, 57 | 113, 58 | 114, 59 | 46, 60 | 110, 61 | 101, 62 | 116, 63 | 47, 64 | 101, 65 | 120, 66 | 47 67 | ], 68 | "text": "" 69 | } 70 | ], 71 | "version": 6, 72 | "location": { 73 | "topRightCorner": { 74 | "x": 200.04411764705884, 75 | "y": 17.95588235294117 76 | }, 77 | "topLeftCorner": { 78 | "x": 17.926615335160037, 79 | "y": 17.926615335160037 80 | }, 81 | "bottomRightCorner": { 82 | "x": 199.7317188476965, 83 | "y": 199.7317188476965 84 | }, 85 | "bottomLeftCorner": { 86 | "x": 17.95588235294117, 87 | "y": 200.04411764705884 88 | }, 89 | "topRightFinderPattern": { 90 | "x": 184.5, 91 | "y": 33.5 92 | }, 93 | "topLeftFinderPattern": { 94 | "x": 33.5, 95 | "y": 33.5 96 | }, 97 | "bottomLeftFinderPattern": { 98 | "x": 33.5, 99 | "y": 184.5 100 | }, 101 | "bottomRightAlignmentPattern": { 102 | "x": 171, 103 | "y": 171 104 | } 105 | } 106 | } -------------------------------------------------------------------------------- /tests/end-to-end/173/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/173/input.png -------------------------------------------------------------------------------- /tests/end-to-end/174/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/174/input.png -------------------------------------------------------------------------------- /tests/end-to-end/175/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/175/input.png -------------------------------------------------------------------------------- /tests/end-to-end/176/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/176/input.png -------------------------------------------------------------------------------- /tests/end-to-end/176/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://code.google.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 99, 39 | 111, 40 | 100, 41 | 101, 42 | 46, 43 | 103, 44 | 111, 45 | 111, 46 | 103, 47 | 108, 48 | 101, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://code.google.com" 55 | } 56 | ], 57 | "version": 3, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 202.14500930486014, 61 | "y": 47.10925756469705 62 | }, 63 | "topLeftCorner": { 64 | "x": 75.67524269888371, 65 | "y": 47.699318559097485 66 | }, 67 | "bottomRightCorner": { 68 | "x": 198.03902549470686, 69 | "y": 173.86321883305175 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 76.24386448590829, 73 | "y": 174.98790727609315 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 186.5, 77 | "y": 63 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 91, 81 | "y": 63.5 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 91, 85 | "y": 160 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 171.5, 89 | "y": 146.5 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/177/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/177/input.png -------------------------------------------------------------------------------- /tests/end-to-end/178/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/178/input.png -------------------------------------------------------------------------------- /tests/end-to-end/179/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/179/input.png -------------------------------------------------------------------------------- /tests/end-to-end/18/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/18/input.png -------------------------------------------------------------------------------- /tests/end-to-end/180/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/180/input.png -------------------------------------------------------------------------------- /tests/end-to-end/180/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 97, 11 | 110, 12 | 105, 13 | 102, 14 | 117, 15 | 108, 16 | 46, 17 | 106, 18 | 112, 19 | 47, 20 | 112, 21 | 114, 22 | 47, 23 | 32, 24 | 32 25 | ], 26 | "data": "http://aniful.jp/pr/ ", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 97, 39 | 110, 40 | 105, 41 | 102, 42 | 117, 43 | 108, 44 | 46, 45 | 106, 46 | 112, 47 | 47, 48 | 112, 49 | 114, 50 | 47, 51 | 32, 52 | 32 53 | ], 54 | "text": "http://aniful.jp/pr/ " 55 | } 56 | ], 57 | "version": 6, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 178.53676470588238, 61 | "y": 11.463235294117643 62 | }, 63 | "topLeftCorner": { 64 | "x": 60.98020536929358, 65 | "y": 11.480205369293575 66 | }, 67 | "bottomRightCorner": { 68 | "x": 178.71920387305005, 69 | "y": 129.21920387305005 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 60.96323529411764, 73 | "y": 129.03676470588235 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 168.5, 77 | "y": 21.5 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 71, 81 | "y": 21.5 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 71, 85 | "y": 119 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 160, 89 | "y": 110.5 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/181/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/181/input.png -------------------------------------------------------------------------------- /tests/end-to-end/182/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/182/input.png -------------------------------------------------------------------------------- /tests/end-to-end/184/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/184/input.png -------------------------------------------------------------------------------- /tests/end-to-end/185/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/185/input.png -------------------------------------------------------------------------------- /tests/end-to-end/185/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 119, 11 | 119, 12 | 119, 13 | 46, 14 | 119, 15 | 101, 16 | 98, 17 | 116, 18 | 101, 19 | 99, 20 | 104, 21 | 46, 22 | 99, 23 | 111, 24 | 46, 25 | 106, 26 | 112, 27 | 47, 28 | 107, 29 | 47 30 | ], 31 | "data": "http://www.webtech.co.jp/k/", 32 | "chunks": [ 33 | { 34 | "type": "byte", 35 | "bytes": [ 36 | 104, 37 | 116, 38 | 116, 39 | 112, 40 | 58, 41 | 47, 42 | 47, 43 | 119, 44 | 119, 45 | 119, 46 | 46, 47 | 119, 48 | 101, 49 | 98, 50 | 116, 51 | 101, 52 | 99, 53 | 104, 54 | 46, 55 | 99, 56 | 111, 57 | 46, 58 | 106, 59 | 112, 60 | 47, 61 | 107, 62 | 47 63 | ], 64 | "text": "http://www.webtech.co.jp/k/" 65 | } 66 | ], 67 | "version": 4, 68 | "location": { 69 | "topRightCorner": { 70 | "x": 306.7914111847173, 71 | "y": 81.35079340625481 72 | }, 73 | "topLeftCorner": { 74 | "x": 134.32577661201498, 75 | "y": 83.76259225057089 76 | }, 77 | "bottomRightCorner": { 78 | "x": 308.5995871714683, 79 | "y": 249.05321669871222 80 | }, 81 | "bottomLeftCorner": { 82 | "x": 131.6197210484902, 83 | "y": 252.71440332212921 84 | }, 85 | "topRightFinderPattern": { 86 | "x": 288.75, 87 | "y": 99 88 | }, 89 | "topLeftFinderPattern": { 90 | "x": 152.5, 91 | "y": 101 92 | }, 93 | "bottomLeftFinderPattern": { 94 | "x": 150.75, 95 | "y": 234 96 | }, 97 | "bottomRightAlignmentPattern": { 98 | "x": 273.75, 99 | "y": 216 100 | } 101 | } 102 | } -------------------------------------------------------------------------------- /tests/end-to-end/186/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/186/input.png -------------------------------------------------------------------------------- /tests/end-to-end/19/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/19/input.png -------------------------------------------------------------------------------- /tests/end-to-end/2/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/2/input.png -------------------------------------------------------------------------------- /tests/end-to-end/2/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://code.google.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 99, 39 | 111, 40 | 100, 41 | 101, 42 | 46, 43 | 103, 44 | 111, 45 | 111, 46 | 103, 47 | 108, 48 | 101, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://code.google.com" 55 | } 56 | ], 57 | "version": 3, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 169.97313761748933, 61 | "y": 67.9119179745415 62 | }, 63 | "topLeftCorner": { 64 | "x": 61.38965877345718, 65 | "y": 68.65597144763409 66 | }, 67 | "bottomRightCorner": { 68 | "x": 180.74028041197627, 69 | "y": 177.2956398621835 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 64.69980803936544, 73 | "y": 183.41557111668365 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 158.5, 77 | "y": 80.5 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 75.5, 81 | "y": 81.5 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 78.75, 85 | "y": 168 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 153.5, 89 | "y": 152.5 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/20/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/20/input.png -------------------------------------------------------------------------------- /tests/end-to-end/21/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/21/input.png -------------------------------------------------------------------------------- /tests/end-to-end/23/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/23/input.png -------------------------------------------------------------------------------- /tests/end-to-end/24/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/24/input.png -------------------------------------------------------------------------------- /tests/end-to-end/24/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://code.google.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 99, 39 | 111, 40 | 100, 41 | 101, 42 | 46, 43 | 103, 44 | 111, 45 | 111, 46 | 103, 47 | 108, 48 | 101, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://code.google.com" 55 | } 56 | ], 57 | "version": 3, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 187.34137589764677, 61 | "y": 50.92004130848449 62 | }, 63 | "topLeftCorner": { 64 | "x": 48.84761328608201, 65 | "y": 31.00195847422618 66 | }, 67 | "bottomRightCorner": { 68 | "x": 166.51592464895035, 69 | "y": 188.90524081923658 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 28.479866103127446, 73 | "y": 175.50437886518222 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 168.75, 77 | "y": 65.5 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 63.75, 81 | "y": 51 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 48.25, 85 | "y": 160 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 141.25, 89 | "y": 155 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/25/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/25/input.png -------------------------------------------------------------------------------- /tests/end-to-end/26/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/26/input.png -------------------------------------------------------------------------------- /tests/end-to-end/27/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/27/input.png -------------------------------------------------------------------------------- /tests/end-to-end/28/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/28/input.png -------------------------------------------------------------------------------- /tests/end-to-end/29/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/29/input.png -------------------------------------------------------------------------------- /tests/end-to-end/3/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/3/input.png -------------------------------------------------------------------------------- /tests/end-to-end/3/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 77, 4 | 69, 5 | 67, 6 | 65, 7 | 82, 8 | 68, 9 | 58, 10 | 78, 11 | 58, 12 | 230, 13 | 184, 14 | 172, 15 | 232, 16 | 169, 17 | 166, 18 | 59, 19 | 59 20 | ], 21 | "data": "MECARD:N:測試;;", 22 | "chunks": [ 23 | { 24 | "type": "byte", 25 | "bytes": [ 26 | 77, 27 | 69, 28 | 67, 29 | 65, 30 | 82, 31 | 68, 32 | 58, 33 | 78, 34 | 58, 35 | 230, 36 | 184, 37 | 172, 38 | 232, 39 | 169, 40 | 166, 41 | 59, 42 | 59 43 | ], 44 | "text": "MECARD:N:測試;;" 45 | } 46 | ], 47 | "version": 2, 48 | "location": { 49 | "topRightCorner": { 50 | "x": 300, 51 | "y": 50 52 | }, 53 | "topLeftCorner": { 54 | "x": 50, 55 | "y": 50 56 | }, 57 | "bottomRightCorner": { 58 | "x": 300, 59 | "y": 300 60 | }, 61 | "bottomLeftCorner": { 62 | "x": 50, 63 | "y": 300 64 | }, 65 | "topRightFinderPattern": { 66 | "x": 265, 67 | "y": 85 68 | }, 69 | "topLeftFinderPattern": { 70 | "x": 85, 71 | "y": 85 72 | }, 73 | "bottomLeftFinderPattern": { 74 | "x": 85, 75 | "y": 265 76 | }, 77 | "bottomRightAlignmentPattern": { 78 | "x": 235, 79 | "y": 235 80 | } 81 | } 82 | } -------------------------------------------------------------------------------- /tests/end-to-end/30/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/30/input.png -------------------------------------------------------------------------------- /tests/end-to-end/31/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/31/input.png -------------------------------------------------------------------------------- /tests/end-to-end/32/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/32/input.png -------------------------------------------------------------------------------- /tests/end-to-end/33/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/33/input.png -------------------------------------------------------------------------------- /tests/end-to-end/34/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/34/input.png -------------------------------------------------------------------------------- /tests/end-to-end/35/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/35/input.png -------------------------------------------------------------------------------- /tests/end-to-end/36/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/36/input.png -------------------------------------------------------------------------------- /tests/end-to-end/37/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/37/input.png -------------------------------------------------------------------------------- /tests/end-to-end/38/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/38/input.png -------------------------------------------------------------------------------- /tests/end-to-end/39/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/39/input.png -------------------------------------------------------------------------------- /tests/end-to-end/4/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/4/input.png -------------------------------------------------------------------------------- /tests/end-to-end/40/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/40/input.png -------------------------------------------------------------------------------- /tests/end-to-end/41/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/41/input.png -------------------------------------------------------------------------------- /tests/end-to-end/42/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/42/input.png -------------------------------------------------------------------------------- /tests/end-to-end/43/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/43/input.png -------------------------------------------------------------------------------- /tests/end-to-end/44/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/44/input.png -------------------------------------------------------------------------------- /tests/end-to-end/45/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/45/input.png -------------------------------------------------------------------------------- /tests/end-to-end/46/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/46/input.png -------------------------------------------------------------------------------- /tests/end-to-end/46/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://code.google.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 99, 39 | 111, 40 | 100, 41 | 101, 42 | 46, 43 | 103, 44 | 111, 45 | 111, 46 | 103, 47 | 108, 48 | 101, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://code.google.com" 55 | } 56 | ], 57 | "version": 3, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 192.56479339236165, 61 | "y": 50.643938602578814 62 | }, 63 | "topLeftCorner": { 64 | "x": 49.81945630916312, 65 | "y": 57.23790328749101 66 | }, 67 | "bottomRightCorner": { 68 | "x": 208.11405304837805, 69 | "y": 188.31962746379006 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 53.949645087043024, 73 | "y": 201.14038533406756 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 177.5, 77 | "y": 67 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 68.25, 81 | "y": 72.5 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 72.5, 85 | "y": 181 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 171.5, 89 | "y": 158 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/47/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/47/input.png -------------------------------------------------------------------------------- /tests/end-to-end/48/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/48/input.png -------------------------------------------------------------------------------- /tests/end-to-end/49/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/49/input.png -------------------------------------------------------------------------------- /tests/end-to-end/5/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/5/input.png -------------------------------------------------------------------------------- /tests/end-to-end/5/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/50/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/50/input.png -------------------------------------------------------------------------------- /tests/end-to-end/51/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/51/input.png -------------------------------------------------------------------------------- /tests/end-to-end/52/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/52/input.png -------------------------------------------------------------------------------- /tests/end-to-end/53/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/53/input.png -------------------------------------------------------------------------------- /tests/end-to-end/54/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/54/input.png -------------------------------------------------------------------------------- /tests/end-to-end/55/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/55/input.png -------------------------------------------------------------------------------- /tests/end-to-end/56/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/56/input.png -------------------------------------------------------------------------------- /tests/end-to-end/57/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/57/input.png -------------------------------------------------------------------------------- /tests/end-to-end/57/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://code.google.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 99, 39 | 111, 40 | 100, 41 | 101, 42 | 46, 43 | 103, 44 | 111, 45 | 111, 46 | 103, 47 | 108, 48 | 101, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://code.google.com" 55 | } 56 | ], 57 | "version": 3, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 207.86091703955856, 61 | "y": 103.49288988936775 62 | }, 63 | "topLeftCorner": { 64 | "x": 108.66939233296867, 65 | "y": 39.08544628383884 66 | }, 67 | "bottomRightCorner": { 68 | "x": 141.1042412985018, 69 | "y": 205.89324096372349 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 36.12506482966607, 73 | "y": 133.81860659437757 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 188, 77 | "y": 107 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 112.25, 81 | "y": 57.5 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 57.75, 85 | "y": 130 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 133.25, 89 | "y": 165.5 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/58/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/58/input.png -------------------------------------------------------------------------------- /tests/end-to-end/59/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/59/input.png -------------------------------------------------------------------------------- /tests/end-to-end/6/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/6/input.png -------------------------------------------------------------------------------- /tests/end-to-end/6/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 119, 11 | 119, 12 | 119, 13 | 46, 14 | 103, 15 | 111, 16 | 111, 17 | 103, 18 | 108, 19 | 101, 20 | 46, 21 | 99, 22 | 111, 23 | 109, 24 | 47 25 | ], 26 | "data": "http://www.google.com/", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 119, 39 | 119, 40 | 119, 41 | 46, 42 | 103, 43 | 111, 44 | 111, 45 | 103, 46 | 108, 47 | 101, 48 | 46, 49 | 99, 50 | 111, 51 | 109, 52 | 47 53 | ], 54 | "text": "http://www.google.com/" 55 | } 56 | ], 57 | "version": 2, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 87, 61 | "y": 12 62 | }, 63 | "topLeftCorner": { 64 | "x": 12, 65 | "y": 12 66 | }, 67 | "bottomRightCorner": { 68 | "x": 87, 69 | "y": 87 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 12, 73 | "y": 87 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 76.5, 77 | "y": 22.5 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 22.5, 81 | "y": 22.5 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 22.5, 85 | "y": 76.5 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 67.5, 89 | "y": 67.5 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/60/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/60/input.png -------------------------------------------------------------------------------- /tests/end-to-end/61/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/61/input.png -------------------------------------------------------------------------------- /tests/end-to-end/62/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/62/input.png -------------------------------------------------------------------------------- /tests/end-to-end/63/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/63/input.png -------------------------------------------------------------------------------- /tests/end-to-end/64/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/64/input.png -------------------------------------------------------------------------------- /tests/end-to-end/65/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/65/input.png -------------------------------------------------------------------------------- /tests/end-to-end/66/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/66/input.png -------------------------------------------------------------------------------- /tests/end-to-end/66/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/67/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/67/input.png -------------------------------------------------------------------------------- /tests/end-to-end/68/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/68/input.png -------------------------------------------------------------------------------- /tests/end-to-end/68/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://code.google.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 99, 39 | 111, 40 | 100, 41 | 101, 42 | 46, 43 | 103, 44 | 111, 45 | 111, 46 | 103, 47 | 108, 48 | 101, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://code.google.com" 55 | } 56 | ], 57 | "version": 3, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 198.97054789280406, 61 | "y": 59.00604944478448 62 | }, 63 | "topLeftCorner": { 64 | "x": 67.55070859306473, 65 | "y": 60.66672993494301 66 | }, 67 | "bottomRightCorner": { 68 | "x": 213.77064904274286, 69 | "y": 182.90350554895966 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 63.158311884320696, 73 | "y": 187.87897412436726 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 184.75, 77 | "y": 72.5 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 83.5, 81 | "y": 74 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 82, 85 | "y": 170 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 178, 89 | "y": 153 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/69/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/69/input.png -------------------------------------------------------------------------------- /tests/end-to-end/7/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/7/input.png -------------------------------------------------------------------------------- /tests/end-to-end/7/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 119, 11 | 119, 12 | 119, 13 | 46, 14 | 103, 15 | 111, 16 | 111, 17 | 103, 18 | 108, 19 | 101, 20 | 46, 21 | 99, 22 | 111, 23 | 109, 24 | 47 25 | ], 26 | "data": "http://www.google.com/", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 119, 39 | 119, 40 | 119, 41 | 46, 42 | 103, 43 | 111, 44 | 111, 45 | 103, 46 | 108, 47 | 101, 48 | 46, 49 | 99, 50 | 111, 51 | 109, 52 | 47 53 | ], 54 | "text": "http://www.google.com/" 55 | } 56 | ], 57 | "version": 2, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 87, 61 | "y": 12 62 | }, 63 | "topLeftCorner": { 64 | "x": 12, 65 | "y": 12 66 | }, 67 | "bottomRightCorner": { 68 | "x": 87, 69 | "y": 87 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 12, 73 | "y": 87 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 76.5, 77 | "y": 22.5 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 22.5, 81 | "y": 22.5 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 22.5, 85 | "y": 76.5 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 67.5, 89 | "y": 67.5 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/70/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/70/input.png -------------------------------------------------------------------------------- /tests/end-to-end/71/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/71/input.png -------------------------------------------------------------------------------- /tests/end-to-end/71/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/72/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/72/input.png -------------------------------------------------------------------------------- /tests/end-to-end/72/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/73/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/73/input.png -------------------------------------------------------------------------------- /tests/end-to-end/74/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/74/input.png -------------------------------------------------------------------------------- /tests/end-to-end/74/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://code.google.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 99, 39 | 111, 40 | 100, 41 | 101, 42 | 46, 43 | 103, 44 | 111, 45 | 111, 46 | 103, 47 | 108, 48 | 101, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://code.google.com" 55 | } 56 | ], 57 | "version": 3, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 185.61260831262294, 61 | "y": 49.30483457826618 62 | }, 63 | "topLeftCorner": { 64 | "x": 68.40209429064569, 65 | "y": 50.02362702328046 66 | }, 67 | "bottomRightCorner": { 68 | "x": 181.72593755372745, 69 | "y": 166.38972111221676 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 68.93151258305865, 73 | "y": 166.645145537941 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 171, 77 | "y": 64 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 82.5, 81 | "y": 64.5 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 82.5, 85 | "y": 153 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 157, 89 | "y": 141 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/75/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/75/input.png -------------------------------------------------------------------------------- /tests/end-to-end/76/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/76/input.png -------------------------------------------------------------------------------- /tests/end-to-end/76/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/77/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/77/input.png -------------------------------------------------------------------------------- /tests/end-to-end/77/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/78/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/78/input.png -------------------------------------------------------------------------------- /tests/end-to-end/78/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/79/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/79/input.png -------------------------------------------------------------------------------- /tests/end-to-end/79/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://code.google.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 99, 39 | 111, 40 | 100, 41 | 101, 42 | 46, 43 | 103, 44 | 111, 45 | 111, 46 | 103, 47 | 108, 48 | 101, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://code.google.com" 55 | } 56 | ], 57 | "version": 3, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 195.9965184836062, 61 | "y": 45.83833402993304 62 | }, 63 | "topLeftCorner": { 64 | "x": 40.649318577840226, 65 | "y": 46.86864790352571 66 | }, 67 | "bottomRightCorner": { 68 | "x": 194.8935832708079, 69 | "y": 191.63844916326443 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 48.33200488559907, 73 | "y": 194.82128078506523 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 177.5, 77 | "y": 64.5 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 60.5, 81 | "y": 65.5 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 65.5, 85 | "y": 177.5 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 162.25, 89 | "y": 161 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/8/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/8/input.png -------------------------------------------------------------------------------- /tests/end-to-end/80/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/80/input.png -------------------------------------------------------------------------------- /tests/end-to-end/80/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/81/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/81/input.png -------------------------------------------------------------------------------- /tests/end-to-end/81/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/82/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/82/input.png -------------------------------------------------------------------------------- /tests/end-to-end/82/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109, 25 | 47, 26 | 112, 27 | 47, 28 | 122, 29 | 120, 30 | 105, 31 | 110, 32 | 103, 33 | 47 34 | ], 35 | "data": "http://code.google.com/p/zxing/", 36 | "chunks": [ 37 | { 38 | "type": "byte", 39 | "bytes": [ 40 | 104, 41 | 116, 42 | 116, 43 | 112, 44 | 58, 45 | 47, 46 | 47, 47 | 99, 48 | 111, 49 | 100, 50 | 101, 51 | 46, 52 | 103, 53 | 111, 54 | 111, 55 | 103, 56 | 108, 57 | 101, 58 | 46, 59 | 99, 60 | 111, 61 | 109, 62 | 47, 63 | 112, 64 | 47, 65 | 122, 66 | 120, 67 | 105, 68 | 110, 69 | 103, 70 | 47 71 | ], 72 | "text": "http://code.google.com/p/zxing/" 73 | } 74 | ], 75 | "version": 2, 76 | "location": { 77 | "topRightCorner": { 78 | "x": 161.6951269176281, 79 | "y": 61.745332923199555 80 | }, 81 | "topLeftCorner": { 82 | "x": 77.03759523249865, 83 | "y": 51.8409703690389 84 | }, 85 | "bottomRightCorner": { 86 | "x": 147.85112998168927, 87 | "y": 146.5334877662124 88 | }, 89 | "bottomLeftCorner": { 90 | "x": 67.25061775575521, 91 | "y": 142.30094367891465 92 | }, 93 | "topRightFinderPattern": { 94 | "x": 148.5, 95 | "y": 73 96 | }, 97 | "topLeftFinderPattern": { 98 | "x": 88, 99 | "y": 66.5 100 | }, 101 | "bottomLeftFinderPattern": { 102 | "x": 80.5, 103 | "y": 131 104 | }, 105 | "bottomRightAlignmentPattern": { 106 | "x": 131, 107 | "y": 124 108 | } 109 | } 110 | } -------------------------------------------------------------------------------- /tests/end-to-end/83/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/83/input.png -------------------------------------------------------------------------------- /tests/end-to-end/84/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/84/input.png -------------------------------------------------------------------------------- /tests/end-to-end/84/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 119, 4 | 112, 5 | 58, 6 | 32, 7 | 107, 8 | 97 9 | ], 10 | "data": "wp: ka", 11 | "chunks": [ 12 | { 13 | "type": "byte", 14 | "bytes": [ 15 | 119, 16 | 112, 17 | 58, 18 | 32, 19 | 107, 20 | 97 21 | ], 22 | "text": "wp: ka" 23 | } 24 | ], 25 | "version": 1, 26 | "location": { 27 | "topRightCorner": { 28 | "x": 293.3125, 29 | "y": 294.37500000000006 30 | }, 31 | "topLeftCorner": { 32 | "x": 123.23296456602323, 33 | "y": 295.6754312101154 34 | }, 35 | "bottomRightCorner": { 36 | "x": 292.30438844839114, 37 | "y": 460.641367978342 38 | }, 39 | "bottomLeftCorner": { 40 | "x": 123.43750000000001, 41 | "y": 463.12500000000006 42 | }, 43 | "topRightFinderPattern": { 44 | "x": 265, 45 | "y": 322.5 46 | }, 47 | "topLeftFinderPattern": { 48 | "x": 151.75, 49 | "y": 323.5 50 | }, 51 | "bottomLeftFinderPattern": { 52 | "x": 151.75, 53 | "y": 435 54 | }, 55 | "bottomRightAlignmentPattern": { 56 | "x": 240.48967581674742, 57 | "y": 410.08484925166084 58 | } 59 | } 60 | } -------------------------------------------------------------------------------- /tests/end-to-end/85/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/85/input.png -------------------------------------------------------------------------------- /tests/end-to-end/85/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/86/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/86/input.png -------------------------------------------------------------------------------- /tests/end-to-end/86/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/87/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/87/input.png -------------------------------------------------------------------------------- /tests/end-to-end/87/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/88/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/88/input.png -------------------------------------------------------------------------------- /tests/end-to-end/88/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/89/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/89/input.png -------------------------------------------------------------------------------- /tests/end-to-end/9/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/9/input.png -------------------------------------------------------------------------------- /tests/end-to-end/9/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 100, 11 | 46, 12 | 107, 13 | 97, 14 | 121, 15 | 119, 16 | 97, 17 | 46, 18 | 99, 19 | 111, 20 | 109, 21 | 47, 22 | 50, 23 | 48, 24 | 50, 25 | 48, 26 | 55, 27 | 49, 28 | 48, 29 | 48 30 | ], 31 | "data": "http://d.kaywa.com/20207100", 32 | "chunks": [ 33 | { 34 | "type": "byte", 35 | "bytes": [ 36 | 104, 37 | 116, 38 | 116, 39 | 112, 40 | 58, 41 | 47, 42 | 47, 43 | 100, 44 | 46, 45 | 107, 46 | 97, 47 | 121, 48 | 119, 49 | 97, 50 | 46, 51 | 99, 52 | 111, 53 | 109, 54 | 47, 55 | 50, 56 | 48, 57 | 50, 58 | 48, 59 | 55, 60 | 49, 61 | 48, 62 | 48 63 | ], 64 | "text": "http://d.kaywa.com/20207100" 65 | } 66 | ], 67 | "version": 3, 68 | "location": { 69 | "topRightCorner": { 70 | "x": 217.5488694498388, 71 | "y": 35.182843758759795 72 | }, 73 | "topLeftCorner": { 74 | "x": 120.0067304847263, 75 | "y": 29.551988105538648 76 | }, 77 | "bottomRightCorner": { 78 | "x": 221.367991263292, 79 | "y": 130.53075356041165 80 | }, 81 | "bottomLeftCorner": { 82 | "x": 117.9296348718266, 83 | "y": 128.20477803359242 84 | }, 85 | "topRightFinderPattern": { 86 | "x": 206.5, 87 | "y": 45.5 88 | }, 89 | "topLeftFinderPattern": { 90 | "x": 132, 91 | "y": 41.5 92 | }, 93 | "bottomLeftFinderPattern": { 94 | "x": 131, 95 | "y": 116 96 | }, 97 | "bottomRightAlignmentPattern": { 98 | "x": 198.25, 99 | "y": 107.5 100 | } 101 | } 102 | } -------------------------------------------------------------------------------- /tests/end-to-end/90/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/90/input.png -------------------------------------------------------------------------------- /tests/end-to-end/90/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 99, 11 | 111, 12 | 100, 13 | 101, 14 | 46, 15 | 103, 16 | 111, 17 | 111, 18 | 103, 19 | 108, 20 | 101, 21 | 46, 22 | 99, 23 | 111, 24 | 109, 25 | 47, 26 | 112, 27 | 47, 28 | 122, 29 | 120, 30 | 105, 31 | 110, 32 | 103, 33 | 47 34 | ], 35 | "data": "http://code.google.com/p/zxing/", 36 | "chunks": [ 37 | { 38 | "type": "byte", 39 | "bytes": [ 40 | 104, 41 | 116, 42 | 116, 43 | 112, 44 | 58, 45 | 47, 46 | 47, 47 | 99, 48 | 111, 49 | 100, 50 | 101, 51 | 46, 52 | 103, 53 | 111, 54 | 111, 55 | 103, 56 | 108, 57 | 101, 58 | 46, 59 | 99, 60 | 111, 61 | 109, 62 | 47, 63 | 112, 64 | 47, 65 | 122, 66 | 120, 67 | 105, 68 | 110, 69 | 103, 70 | 47 71 | ], 72 | "text": "http://code.google.com/p/zxing/" 73 | } 74 | ], 75 | "version": 2, 76 | "location": { 77 | "topRightCorner": { 78 | "x": 168.47048131271634, 79 | "y": 64.39750006224945 80 | }, 81 | "topLeftCorner": { 82 | "x": 65.56373988828969, 83 | "y": 73.16588020030817 84 | }, 85 | "bottomRightCorner": { 86 | "x": 179.13812247644688, 87 | "y": 170.7557200538358 88 | }, 89 | "bottomLeftCorner": { 90 | "x": 71.94254080127966, 91 | "y": 176.20324410787032 92 | }, 93 | "topRightFinderPattern": { 94 | "x": 155, 95 | "y": 80 96 | }, 97 | "topLeftFinderPattern": { 98 | "x": 80.5, 99 | "y": 86 100 | }, 101 | "bottomLeftFinderPattern": { 102 | "x": 85.5, 103 | "y": 160.5 104 | }, 105 | "bottomRightAlignmentPattern": { 106 | "x": 148, 107 | "y": 144 108 | } 109 | } 110 | } -------------------------------------------------------------------------------- /tests/end-to-end/91/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/91/input.png -------------------------------------------------------------------------------- /tests/end-to-end/92/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/92/input.png -------------------------------------------------------------------------------- /tests/end-to-end/92/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 50, 4 | 48, 5 | 50, 6 | 49, 7 | 50, 8 | 48, 9 | 48, 10 | 48, 11 | 48, 12 | 48 13 | ], 14 | "data": "2021200000", 15 | "chunks": [ 16 | { 17 | "type": "numeric", 18 | "text": "2021200000" 19 | } 20 | ], 21 | "version": 1, 22 | "location": { 23 | "topRightCorner": { 24 | "x": 190.37500000000003, 25 | "y": 123.24999999999999 26 | }, 27 | "topLeftCorner": { 28 | "x": 140.82437472806706, 29 | "y": 120.1954804763799 30 | }, 31 | "bottomRightCorner": { 32 | "x": 189.37498917656237, 33 | "y": 172.48075757475945 34 | }, 35 | "bottomLeftCorner": { 36 | "x": 140.125, 37 | "y": 169.74999999999997 38 | }, 39 | "topRightFinderPattern": { 40 | "x": 182, 41 | "y": 131 42 | }, 43 | "topLeftFinderPattern": { 44 | "x": 149, 45 | "y": 129 46 | }, 47 | "bottomLeftFinderPattern": { 48 | "x": 148.5, 49 | "y": 162 50 | }, 51 | "bottomRightAlignmentPattern": { 52 | "x": 174.47561880331884, 53 | "y": 156.4352817881895 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /tests/end-to-end/93/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/93/input.png -------------------------------------------------------------------------------- /tests/end-to-end/94/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/94/input.png -------------------------------------------------------------------------------- /tests/end-to-end/95/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/95/input.png -------------------------------------------------------------------------------- /tests/end-to-end/96/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/96/input.png -------------------------------------------------------------------------------- /tests/end-to-end/97/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/97/input.png -------------------------------------------------------------------------------- /tests/end-to-end/98/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/98/input.png -------------------------------------------------------------------------------- /tests/end-to-end/99/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/99/input.png -------------------------------------------------------------------------------- /tests/end-to-end/angel-hotel/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/angel-hotel/input.png -------------------------------------------------------------------------------- /tests/end-to-end/battery/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/battery/input.png -------------------------------------------------------------------------------- /tests/end-to-end/battery/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 98, 11 | 105, 12 | 116, 13 | 46, 14 | 108, 15 | 121, 16 | 47, 17 | 110, 18 | 69, 19 | 103, 20 | 67, 21 | 83, 22 | 54 23 | ], 24 | "data": "http://bit.ly/nEgCS6", 25 | "chunks": [ 26 | { 27 | "type": "byte", 28 | "bytes": [ 29 | 104, 30 | 116, 31 | 116, 32 | 112, 33 | 58, 34 | 47, 35 | 47, 36 | 98, 37 | 105, 38 | 116, 39 | 46, 40 | 108, 41 | 121, 42 | 47, 43 | 110, 44 | 69, 45 | 103, 46 | 67, 47 | 83, 48 | 54 49 | ], 50 | "text": "http://bit.ly/nEgCS6" 51 | } 52 | ], 53 | "version": 2, 54 | "location": { 55 | "topRightCorner": { 56 | "x": 260.1365977382876, 57 | "y": 414.6985137318255 58 | }, 59 | "topLeftCorner": { 60 | "x": 125.29901655306719, 61 | "y": 412.52577085361895 62 | }, 63 | "bottomRightCorner": { 64 | "x": 257.3591201513719, 65 | "y": 541.2636076947335 66 | }, 67 | "bottomLeftCorner": { 68 | "x": 125.75523281596453, 69 | "y": 539.7044345898005 70 | }, 71 | "topRightFinderPattern": { 72 | "x": 241, 73 | "y": 432.5 74 | }, 75 | "topLeftFinderPattern": { 76 | "x": 144.25, 77 | "y": 431 78 | }, 79 | "bottomLeftFinderPattern": { 80 | "x": 144.25, 81 | "y": 522.5 82 | }, 83 | "bottomRightAlignmentPattern": { 84 | "x": 223.75, 85 | "y": 508.5 86 | } 87 | } 88 | } -------------------------------------------------------------------------------- /tests/end-to-end/bike-1/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/bike-1/input.png -------------------------------------------------------------------------------- /tests/end-to-end/bike-2/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/bike-2/input.png -------------------------------------------------------------------------------- /tests/end-to-end/billboard-1/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/billboard-1/input.png -------------------------------------------------------------------------------- /tests/end-to-end/billboard-1/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/billboard-2/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/billboard-2/input.png -------------------------------------------------------------------------------- /tests/end-to-end/bitcoin-tag/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/bitcoin-tag/input.png -------------------------------------------------------------------------------- /tests/end-to-end/bitcoin-tag/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/bus-stop-1/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/bus-stop-1/input.png -------------------------------------------------------------------------------- /tests/end-to-end/bus-stop-2/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/bus-stop-2/input.png -------------------------------------------------------------------------------- /tests/end-to-end/bus-stop-3/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/bus-stop-3/input.png -------------------------------------------------------------------------------- /tests/end-to-end/bus-stop-3/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 79, 11 | 72, 12 | 65, 13 | 73, 14 | 80, 15 | 85, 16 | 90, 17 | 90, 18 | 76, 19 | 69, 20 | 46, 21 | 67, 22 | 79, 23 | 77 24 | ], 25 | "data": "http://OHAIPUZZLE.COM", 26 | "chunks": [ 27 | { 28 | "type": "byte", 29 | "bytes": [ 30 | 104, 31 | 116, 32 | 116, 33 | 112, 34 | 58, 35 | 47, 36 | 47, 37 | 79, 38 | 72, 39 | 65, 40 | 73, 41 | 80, 42 | 85, 43 | 90, 44 | 90, 45 | 76, 46 | 69, 47 | 46, 48 | 67, 49 | 79, 50 | 77 51 | ], 52 | "text": "http://OHAIPUZZLE.COM" 53 | } 54 | ], 55 | "version": 4, 56 | "location": { 57 | "topRightCorner": { 58 | "x": 156.0990704080627, 59 | "y": 95.03936394872025 60 | }, 61 | "topLeftCorner": { 62 | "x": 83.24842797635381, 63 | "y": 98.68319576018746 64 | }, 65 | "bottomRightCorner": { 66 | "x": 156.3167315669272, 67 | "y": 169.95178743966295 68 | }, 69 | "bottomLeftCorner": { 70 | "x": 84.97909222757205, 71 | "y": 169.33434115512568 72 | }, 73 | "topRightFinderPattern": { 74 | "x": 148, 75 | "y": 103.5 76 | }, 77 | "topLeftFinderPattern": { 78 | "x": 90.75, 79 | "y": 106 80 | }, 81 | "bottomLeftFinderPattern": { 82 | "x": 92, 83 | "y": 162 84 | }, 85 | "bottomRightAlignmentPattern": { 86 | "x": 141.5, 87 | "y": 155.5 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /tests/end-to-end/business-card-1/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/business-card-1/input.png -------------------------------------------------------------------------------- /tests/end-to-end/business-card-2/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/business-card-2/input.png -------------------------------------------------------------------------------- /tests/end-to-end/business-card-2/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/business-card-3/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/business-card-3/input.png -------------------------------------------------------------------------------- /tests/end-to-end/cache-flyer/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/cache-flyer/input.png -------------------------------------------------------------------------------- /tests/end-to-end/cgi/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/cgi/input.png -------------------------------------------------------------------------------- /tests/end-to-end/cgi/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 119, 11 | 119, 12 | 119, 13 | 46, 14 | 110, 15 | 111, 16 | 114, 17 | 101, 18 | 98, 19 | 98, 20 | 111, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://www.norebbo.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 119, 39 | 119, 40 | 119, 41 | 46, 42 | 110, 43 | 111, 44 | 114, 45 | 101, 46 | 98, 47 | 98, 48 | 111, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://www.norebbo.com" 55 | } 56 | ], 57 | "version": 3, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 391.6669650668367, 61 | "y": 137.24275074145362 62 | }, 63 | "topLeftCorner": { 64 | "x": 183.52801382318995, 65 | "y": 140.74681336656948 66 | }, 67 | "bottomRightCorner": { 68 | "x": 389.53345304807044, 69 | "y": 350.92547511718425 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 185.36071603343404, 73 | "y": 363.32276166304194 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 367.25, 77 | "y": 164 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 209.75, 81 | "y": 167.5 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 210.75, 85 | "y": 335.5 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 345.5, 89 | "y": 306 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/chevy-ad/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/chevy-ad/input.png -------------------------------------------------------------------------------- /tests/end-to-end/chevy-ad/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 98, 11 | 105, 12 | 116, 13 | 46, 14 | 108, 15 | 121, 16 | 47, 17 | 99, 18 | 122, 19 | 97, 20 | 105, 21 | 114, 22 | 98, 23 | 97, 24 | 103, 25 | 115 26 | ], 27 | "data": "http://bit.ly/czairbags", 28 | "chunks": [ 29 | { 30 | "type": "byte", 31 | "bytes": [ 32 | 104, 33 | 116, 34 | 116, 35 | 112, 36 | 58, 37 | 47, 38 | 47, 39 | 98, 40 | 105, 41 | 116, 42 | 46, 43 | 108, 44 | 121, 45 | 47, 46 | 99, 47 | 122, 48 | 97, 49 | 105, 50 | 114, 51 | 98, 52 | 97, 53 | 103, 54 | 115 55 | ], 56 | "text": "http://bit.ly/czairbags" 57 | } 58 | ], 59 | "version": 3, 60 | "location": { 61 | "topRightCorner": { 62 | "x": 234.2082012596795, 63 | "y": 31.553463760873377 64 | }, 65 | "topLeftCorner": { 66 | "x": 0.7334430633547991, 67 | "y": 34.97679352144757 68 | }, 69 | "bottomRightCorner": { 70 | "x": 233.17146329652817, 71 | "y": 257.5399959015776 72 | }, 73 | "bottomLeftCorner": { 74 | "x": 16.149608286461746, 75 | "y": 255.22022024474873 76 | }, 77 | "topRightFinderPattern": { 78 | "x": 205.5, 79 | "y": 61 80 | }, 81 | "topLeftFinderPattern": { 82 | "x": 30, 83 | "y": 63 84 | }, 85 | "bottomLeftFinderPattern": { 86 | "x": 40.25, 87 | "y": 230.5 88 | }, 89 | "bottomRightAlignmentPattern": { 90 | "x": 183, 91 | "y": 209.5 92 | } 93 | } 94 | } -------------------------------------------------------------------------------- /tests/end-to-end/cupake-5/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/cupake-5/input.png -------------------------------------------------------------------------------- /tests/end-to-end/cupake-5/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/cupcake-1/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/cupcake-1/input.png -------------------------------------------------------------------------------- /tests/end-to-end/cupcake-1/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 103, 11 | 101, 12 | 111, 13 | 108, 14 | 111, 15 | 113, 16 | 105, 17 | 46, 18 | 99, 19 | 111, 20 | 109, 21 | 47 22 | ], 23 | "data": "http://geoloqi.com/", 24 | "chunks": [ 25 | { 26 | "type": "byte", 27 | "bytes": [ 28 | 104, 29 | 116, 30 | 116, 31 | 112, 32 | 58, 33 | 47, 34 | 47, 35 | 103, 36 | 101, 37 | 111, 38 | 108, 39 | 111, 40 | 113, 41 | 105, 42 | 46, 43 | 99, 44 | 111, 45 | 109, 46 | 47 47 | ], 48 | "text": "http://geoloqi.com/" 49 | } 50 | ], 51 | "version": 2, 52 | "location": { 53 | "topRightCorner": { 54 | "x": 52.23568700197095, 55 | "y": 114.71250622781096 56 | }, 57 | "topLeftCorner": { 58 | "x": 118.99533062743382, 59 | "y": 174.15575369746148 60 | }, 61 | "bottomRightCorner": { 62 | "x": 105.99896947580555, 63 | "y": 24.068744268980367 64 | }, 65 | "bottomLeftCorner": { 66 | "x": 180.20527234061936, 67 | "y": 85.50205740051082 68 | }, 69 | "topRightFinderPattern": { 70 | "x": 68.5, 71 | "y": 111 72 | }, 73 | "topLeftFinderPattern": { 74 | "x": 117.25, 75 | "y": 154 76 | }, 77 | "bottomLeftFinderPattern": { 78 | "x": 160.5, 79 | "y": 90 80 | }, 81 | "bottomRightAlignmentPattern": { 82 | "x": 109.5, 83 | "y": 64.5 84 | } 85 | } 86 | } -------------------------------------------------------------------------------- /tests/end-to-end/cupcake-2/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/cupcake-2/input.png -------------------------------------------------------------------------------- /tests/end-to-end/cupcake-2/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 103, 11 | 101, 12 | 111, 13 | 108, 14 | 111, 15 | 113, 16 | 105, 17 | 46, 18 | 99, 19 | 111, 20 | 109, 21 | 47 22 | ], 23 | "data": "http://geoloqi.com/", 24 | "chunks": [ 25 | { 26 | "type": "byte", 27 | "bytes": [ 28 | 104, 29 | 116, 30 | 116, 31 | 112, 32 | 58, 33 | 47, 34 | 47, 35 | 103, 36 | 101, 37 | 111, 38 | 108, 39 | 111, 40 | 113, 41 | 105, 42 | 46, 43 | 99, 44 | 111, 45 | 109, 46 | 47 47 | ], 48 | "text": "http://geoloqi.com/" 49 | } 50 | ], 51 | "version": 2, 52 | "location": { 53 | "topRightCorner": { 54 | "x": 127.46497636162992, 55 | "y": 34.06874732856506 56 | }, 57 | "topLeftCorner": { 58 | "x": 41.953364086855075, 59 | "y": 105.74936541101754 60 | }, 61 | "bottomRightCorner": { 62 | "x": 189.71164362381936, 63 | "y": 96.54063410843052 64 | }, 65 | "bottomLeftCorner": { 66 | "x": 99.62566806959562, 67 | "y": 178.13716773984265 68 | }, 69 | "topRightFinderPattern": { 70 | "x": 124, 71 | "y": 52 72 | }, 73 | "topLeftFinderPattern": { 74 | "x": 62, 75 | "y": 104.5 76 | }, 77 | "bottomLeftFinderPattern": { 78 | "x": 104, 79 | "y": 155.5 80 | }, 81 | "bottomRightAlignmentPattern": { 82 | "x": 150.25, 83 | "y": 99 84 | } 85 | } 86 | } -------------------------------------------------------------------------------- /tests/end-to-end/cupcake-3/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/cupcake-3/input.png -------------------------------------------------------------------------------- /tests/end-to-end/cupcake-3/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 103, 11 | 101, 12 | 111, 13 | 108, 14 | 111, 15 | 113, 16 | 105, 17 | 46, 18 | 99, 19 | 111, 20 | 109, 21 | 47 22 | ], 23 | "data": "http://geoloqi.com/", 24 | "chunks": [ 25 | { 26 | "type": "byte", 27 | "bytes": [ 28 | 104, 29 | 116, 30 | 116, 31 | 112, 32 | 58, 33 | 47, 34 | 47, 35 | 103, 36 | 101, 37 | 111, 38 | 108, 39 | 111, 40 | 113, 41 | 105, 42 | 46, 43 | 99, 44 | 111, 45 | 109, 46 | 47 47 | ], 48 | "text": "http://geoloqi.com/" 49 | } 50 | ], 51 | "version": 2, 52 | "location": { 53 | "topRightCorner": { 54 | "x": 214.48640833894393, 55 | "y": 74.1161753390401 56 | }, 57 | "topLeftCorner": { 58 | "x": 105.36872551552081, 59 | "y": 44.624139961393276 60 | }, 61 | "bottomRightCorner": { 62 | "x": 164.94495183976292, 63 | "y": 195.88860112507186 64 | }, 65 | "bottomLeftCorner": { 66 | "x": 53.71983104023025, 67 | "y": 158.14535828998763 68 | }, 69 | "topRightFinderPattern": { 70 | "x": 191.75, 71 | "y": 86 72 | }, 73 | "topLeftFinderPattern": { 74 | "x": 113, 75 | "y": 64 76 | }, 77 | "bottomLeftFinderPattern": { 78 | "x": 76, 79 | "y": 146.5 80 | }, 81 | "bottomRightAlignmentPattern": { 82 | "x": 148.25, 83 | "y": 153.5 84 | } 85 | } 86 | } -------------------------------------------------------------------------------- /tests/end-to-end/cupcake-4/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/cupcake-4/input.png -------------------------------------------------------------------------------- /tests/end-to-end/cupcake-4/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 103, 11 | 101, 12 | 111, 13 | 108, 14 | 111, 15 | 113, 16 | 105, 17 | 46, 18 | 99, 19 | 111, 20 | 109, 21 | 47, 22 | 116 23 | ], 24 | "data": "http://geoloqi.com/t", 25 | "chunks": [ 26 | { 27 | "type": "byte", 28 | "bytes": [ 29 | 104, 30 | 116, 31 | 116, 32 | 112, 33 | 58, 34 | 47, 35 | 47, 36 | 103, 37 | 101, 38 | 111, 39 | 108, 40 | 111, 41 | 113, 42 | 105, 43 | 46, 44 | 99, 45 | 111, 46 | 109, 47 | 47, 48 | 116 49 | ], 50 | "text": "http://geoloqi.com/t" 51 | } 52 | ], 53 | "version": 2, 54 | "location": { 55 | "topRightCorner": { 56 | "x": 249.63414362140875, 57 | "y": 200.73124522548534 58 | }, 59 | "topLeftCorner": { 60 | "x": 189.1295291054368, 61 | "y": 63.88430053936782 62 | }, 63 | "bottomRightCorner": { 64 | "x": 114.15628617648461, 65 | "y": 268.28062763058944 66 | }, 67 | "bottomLeftCorner": { 68 | "x": 65.66619121582137, 69 | "y": 131.1781441269646 70 | }, 71 | "topRightFinderPattern": { 72 | "x": 221.25, 73 | "y": 190 74 | }, 75 | "topLeftFinderPattern": { 76 | "x": 179, 77 | "y": 91.5 78 | }, 79 | "bottomLeftFinderPattern": { 80 | "x": 89, 81 | "y": 140 82 | }, 83 | "bottomRightAlignmentPattern": { 84 | "x": 134.25, 85 | "y": 213.5 86 | } 87 | } 88 | } -------------------------------------------------------------------------------- /tests/end-to-end/damaged/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/damaged/input.png -------------------------------------------------------------------------------- /tests/end-to-end/damaged/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/emblem-patch/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/emblem-patch/input.png -------------------------------------------------------------------------------- /tests/end-to-end/emblem-patch/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/hk-ikea/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/hk-ikea/input.png -------------------------------------------------------------------------------- /tests/end-to-end/hudson-highlands-state-park/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/hudson-highlands-state-park/input.png -------------------------------------------------------------------------------- /tests/end-to-end/hudson-highlands-state-park/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 103, 11 | 111, 12 | 111, 13 | 46, 14 | 98, 15 | 121, 16 | 47, 17 | 119, 18 | 107, 19 | 69, 20 | 116, 21 | 99, 22 | 111 23 | ], 24 | "data": "http://goo.by/wkEtco", 25 | "chunks": [ 26 | { 27 | "type": "byte", 28 | "bytes": [ 29 | 104, 30 | 116, 31 | 116, 32 | 112, 33 | 58, 34 | 47, 35 | 47, 36 | 103, 37 | 111, 38 | 111, 39 | 46, 40 | 98, 41 | 121, 42 | 47, 43 | 119, 44 | 107, 45 | 69, 46 | 116, 47 | 99, 48 | 111 49 | ], 50 | "text": "http://goo.by/wkEtco" 51 | } 52 | ], 53 | "version": 2, 54 | "location": { 55 | "topRightCorner": { 56 | "x": 424.6663135009608, 57 | "y": 233.03582243782023 58 | }, 59 | "topLeftCorner": { 60 | "x": 180.65131543896337, 61 | "y": 244.20488690277125 62 | }, 63 | "bottomRightCorner": { 64 | "x": 414.6848248507361, 65 | "y": 454.71121811970966 66 | }, 67 | "bottomLeftCorner": { 68 | "x": 186.41386455407053, 69 | "y": 469.89904427714856 70 | }, 71 | "topRightFinderPattern": { 72 | "x": 390, 73 | "y": 267.5 74 | }, 75 | "topLeftFinderPattern": { 76 | "x": 216, 77 | "y": 276 78 | }, 79 | "bottomLeftFinderPattern": { 80 | "x": 218.5, 81 | "y": 438 82 | }, 83 | "bottomRightAlignmentPattern": { 84 | "x": 357.75, 85 | "y": 403.5 86 | } 87 | } 88 | } -------------------------------------------------------------------------------- /tests/end-to-end/issue-14-regression/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/issue-14-regression/input.png -------------------------------------------------------------------------------- /tests/end-to-end/issue-14-regression/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/issue-32-regression/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/issue-32-regression/input.png -------------------------------------------------------------------------------- /tests/end-to-end/issue-34-regression/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/issue-34-regression/input.png -------------------------------------------------------------------------------- /tests/end-to-end/issue-54-1/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/issue-54-1/input.png -------------------------------------------------------------------------------- /tests/end-to-end/issue-54-1/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/issue-54-2/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/issue-54-2/input.png -------------------------------------------------------------------------------- /tests/end-to-end/issue-54-2/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/issue-59-inverted/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/issue-59-inverted/input.png -------------------------------------------------------------------------------- /tests/end-to-end/issue-59-inverted/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 119, 11 | 119, 12 | 119, 13 | 46, 14 | 113, 15 | 114, 16 | 115, 17 | 116, 18 | 117, 19 | 102, 20 | 102, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://www.qrstuff.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 119, 39 | 119, 40 | 119, 41 | 46, 42 | 113, 43 | 114, 44 | 115, 45 | 116, 46 | 117, 47 | 102, 48 | 102, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://www.qrstuff.com" 55 | } 56 | ], 57 | "version": 2, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 159.66666666666669, 61 | "y": 20.333333333333332 62 | }, 63 | "topLeftCorner": { 64 | "x": 26.085501858736055, 65 | "y": 20.08550185873606 66 | }, 67 | "bottomRightCorner": { 68 | "x": 158.18365235385414, 69 | "y": 152.18365235385411 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 26.333333333333332, 73 | "y": 153.66666666666666 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 141, 77 | "y": 39 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 45, 81 | "y": 39 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 45, 85 | "y": 135 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 124.5, 89 | "y": 118.5 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/issue-59/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/issue-59/input.png -------------------------------------------------------------------------------- /tests/end-to-end/issue-59/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 119, 11 | 119, 12 | 119, 13 | 46, 14 | 113, 15 | 114, 16 | 115, 17 | 116, 18 | 117, 19 | 102, 20 | 102, 21 | 46, 22 | 99, 23 | 111, 24 | 109 25 | ], 26 | "data": "http://www.qrstuff.com", 27 | "chunks": [ 28 | { 29 | "type": "byte", 30 | "bytes": [ 31 | 104, 32 | 116, 33 | 116, 34 | 112, 35 | 58, 36 | 47, 37 | 47, 38 | 119, 39 | 119, 40 | 119, 41 | 46, 42 | 113, 43 | 114, 44 | 115, 45 | 116, 46 | 117, 47 | 102, 48 | 102, 49 | 46, 50 | 99, 51 | 111, 52 | 109 53 | ], 54 | "text": "http://www.qrstuff.com" 55 | } 56 | ], 57 | "version": 2, 58 | "location": { 59 | "topRightCorner": { 60 | "x": 153.66666666666666, 61 | "y": 20.333333333333332 62 | }, 63 | "topLeftCorner": { 64 | "x": 20.08550185873606, 65 | "y": 20.08550185873606 66 | }, 67 | "bottomRightCorner": { 68 | "x": 152.18365235385411, 69 | "y": 152.18365235385411 70 | }, 71 | "bottomLeftCorner": { 72 | "x": 20.333333333333332, 73 | "y": 153.66666666666666 74 | }, 75 | "topRightFinderPattern": { 76 | "x": 135, 77 | "y": 39 78 | }, 79 | "topLeftFinderPattern": { 80 | "x": 39, 81 | "y": 39 82 | }, 83 | "bottomLeftFinderPattern": { 84 | "x": 39, 85 | "y": 135 86 | }, 87 | "bottomRightAlignmentPattern": { 88 | "x": 118.5, 89 | "y": 118.5 90 | } 91 | } 92 | } -------------------------------------------------------------------------------- /tests/end-to-end/issue-61/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/issue-61/input.png -------------------------------------------------------------------------------- /tests/end-to-end/japan-visa/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/japan-visa/input.png -------------------------------------------------------------------------------- /tests/end-to-end/japan-visa/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/japanese-jean-ad/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/japanese-jean-ad/input.png -------------------------------------------------------------------------------- /tests/end-to-end/japanese-jean-ad/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/kanji/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/kanji/input.png -------------------------------------------------------------------------------- /tests/end-to-end/key-flyer/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/key-flyer/input.png -------------------------------------------------------------------------------- /tests/end-to-end/key-flyer/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/museum-1/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/museum-1/input.png -------------------------------------------------------------------------------- /tests/end-to-end/museum-1/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 98, 11 | 105, 12 | 116, 13 | 46, 14 | 108, 15 | 121, 16 | 47, 17 | 100, 18 | 73, 19 | 101, 20 | 98, 21 | 83, 22 | 120, 23 | 63, 24 | 114, 25 | 61, 26 | 113, 27 | 114 28 | ], 29 | "data": "http://bit.ly/dIebSx?r=qr", 30 | "chunks": [ 31 | { 32 | "type": "byte", 33 | "bytes": [ 34 | 104, 35 | 116, 36 | 116, 37 | 112, 38 | 58, 39 | 47, 40 | 47, 41 | 98, 42 | 105, 43 | 116, 44 | 46, 45 | 108, 46 | 121, 47 | 47, 48 | 100, 49 | 73, 50 | 101, 51 | 98, 52 | 83, 53 | 120, 54 | 63, 55 | 114, 56 | 61, 57 | 113, 58 | 114 59 | ], 60 | "text": "http://bit.ly/dIebSx?r=qr" 61 | } 62 | ], 63 | "version": 2, 64 | "location": { 65 | "topRightCorner": { 66 | "x": 687.8485761943585, 67 | "y": 348.6658264206267 68 | }, 69 | "topLeftCorner": { 70 | "x": 600.9290141766379, 71 | "y": 351.64425269736205 72 | }, 73 | "bottomRightCorner": { 74 | "x": 691.7636320514273, 75 | "y": 435.3627945174445 76 | }, 77 | "bottomLeftCorner": { 78 | "x": 603.1263385496964, 79 | "y": 436.8602869195784 80 | }, 81 | "topRightFinderPattern": { 82 | "x": 676, 83 | "y": 361 84 | }, 85 | "topLeftFinderPattern": { 86 | "x": 613.25, 87 | "y": 363 88 | }, 89 | "bottomLeftFinderPattern": { 90 | "x": 615, 91 | "y": 424.5 92 | }, 93 | "bottomRightAlignmentPattern": { 94 | "x": 667.5, 95 | "y": 413 96 | } 97 | } 98 | } -------------------------------------------------------------------------------- /tests/end-to-end/museum-2/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/museum-2/input.png -------------------------------------------------------------------------------- /tests/end-to-end/museum-2/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/paper-flyer/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/paper-flyer/input.png -------------------------------------------------------------------------------- /tests/end-to-end/paper-flyer/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 98, 11 | 105, 12 | 116, 13 | 46, 14 | 108, 15 | 121, 16 | 47, 17 | 103, 18 | 108, 19 | 52, 20 | 88, 21 | 74, 22 | 73, 23 | 63, 24 | 114, 25 | 61, 26 | 113, 27 | 114 28 | ], 29 | "data": "http://bit.ly/gl4XJI?r=qr", 30 | "chunks": [ 31 | { 32 | "type": "byte", 33 | "bytes": [ 34 | 104, 35 | 116, 36 | 116, 37 | 112, 38 | 58, 39 | 47, 40 | 47, 41 | 98, 42 | 105, 43 | 116, 44 | 46, 45 | 108, 46 | 121, 47 | 47, 48 | 103, 49 | 108, 50 | 52, 51 | 88, 52 | 74, 53 | 73, 54 | 63, 55 | 114, 56 | 61, 57 | 113, 58 | 114 59 | ], 60 | "text": "http://bit.ly/gl4XJI?r=qr" 61 | } 62 | ], 63 | "version": 2, 64 | "location": { 65 | "topRightCorner": { 66 | "x": 323.81948661889146, 67 | "y": 591.8933155188469 68 | }, 69 | "topLeftCorner": { 70 | "x": 246.74957129957474, 71 | "y": 587.1736948849344 72 | }, 73 | "bottomRightCorner": { 74 | "x": 320.7843998922592, 75 | "y": 667.0314875242346 76 | }, 77 | "bottomLeftCorner": { 78 | "x": 246.02277942745917, 79 | "y": 661.3546612254828 80 | }, 81 | "topRightFinderPattern": { 82 | "x": 312.5, 83 | "y": 602 84 | }, 85 | "topLeftFinderPattern": { 86 | "x": 257.25, 87 | "y": 598.5 88 | }, 89 | "bottomLeftFinderPattern": { 90 | "x": 256.5, 91 | "y": 652 92 | }, 93 | "bottomRightAlignmentPattern": { 94 | "x": 301.75, 95 | "y": 646.5 96 | } 97 | } 98 | } -------------------------------------------------------------------------------- /tests/end-to-end/pepsi-bottle/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/pepsi-bottle/input.png -------------------------------------------------------------------------------- /tests/end-to-end/pepsi-bottle/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 119, 11 | 97, 12 | 112, 13 | 46, 14 | 112, 15 | 101, 16 | 112, 17 | 115, 18 | 105, 19 | 46, 20 | 99, 21 | 111, 22 | 46, 23 | 117, 24 | 107, 25 | 47, 26 | 114, 27 | 53 28 | ], 29 | "data": "http://wap.pepsi.co.uk/r5", 30 | "chunks": [ 31 | { 32 | "type": "byte", 33 | "bytes": [ 34 | 104, 35 | 116, 36 | 116, 37 | 112, 38 | 58, 39 | 47, 40 | 47, 41 | 119, 42 | 97, 43 | 112, 44 | 46, 45 | 112, 46 | 101, 47 | 112, 48 | 115, 49 | 105, 50 | 46, 51 | 99, 52 | 111, 53 | 46, 54 | 117, 55 | 107, 56 | 47, 57 | 114, 58 | 53 59 | ], 60 | "text": "http://wap.pepsi.co.uk/r5" 61 | } 62 | ], 63 | "version": 2, 64 | "location": { 65 | "topRightCorner": { 66 | "x": 340.69267931944637, 67 | "y": 420.8069618236638 68 | }, 69 | "topLeftCorner": { 70 | "x": 271.69882293389213, 71 | "y": 419.1666224466976 72 | }, 73 | "bottomRightCorner": { 74 | "x": 339.7128409020394, 75 | "y": 493.05839505406743 76 | }, 77 | "bottomLeftCorner": { 78 | "x": 269.8506931021152, 79 | "y": 488.1763016577924 80 | }, 81 | "topRightFinderPattern": { 82 | "x": 330.5, 83 | "y": 430.5 84 | }, 85 | "topLeftFinderPattern": { 86 | "x": 280.75, 87 | "y": 429 88 | }, 89 | "bottomLeftFinderPattern": { 90 | "x": 279.5, 91 | "y": 479 92 | }, 93 | "bottomRightAlignmentPattern": { 94 | "x": 321.25, 95 | "y": 473 96 | } 97 | } 98 | } -------------------------------------------------------------------------------- /tests/end-to-end/ring/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/ring/input.png -------------------------------------------------------------------------------- /tests/end-to-end/ring/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 81, 4 | 82, 5 | 105, 6 | 110, 7 | 103, 8 | 32, 9 | 111, 10 | 110, 11 | 32, 12 | 119, 13 | 119, 14 | 119, 15 | 46, 16 | 102, 17 | 108, 18 | 117, 19 | 105, 20 | 100, 21 | 45, 22 | 102, 23 | 111, 24 | 114, 25 | 109, 26 | 115, 27 | 46, 28 | 99, 29 | 111, 30 | 109 31 | ], 32 | "data": "QRing on www.fluid-forms.com", 33 | "chunks": [ 34 | { 35 | "type": "byte", 36 | "bytes": [ 37 | 81, 38 | 82, 39 | 105, 40 | 110, 41 | 103, 42 | 32, 43 | 111, 44 | 110, 45 | 32, 46 | 119, 47 | 119, 48 | 119, 49 | 46, 50 | 102, 51 | 108, 52 | 117, 53 | 105, 54 | 100, 55 | 45, 56 | 102, 57 | 111, 58 | 114, 59 | 109, 60 | 115, 61 | 46, 62 | 99, 63 | 111, 64 | 109 65 | ], 66 | "text": "QRing on www.fluid-forms.com" 67 | } 68 | ], 69 | "version": 2, 70 | "location": { 71 | "topRightCorner": { 72 | "x": 386.94416729016575, 73 | "y": 204.14340871267436 74 | }, 75 | "topLeftCorner": { 76 | "x": 274.15841104808476, 77 | "y": 369.75759483336157 78 | }, 79 | "bottomRightCorner": { 80 | "x": 532.7744556174987, 81 | "y": 278.97128611173156 82 | }, 83 | "bottomLeftCorner": { 84 | "x": 419.596469028325, 85 | "y": 437.57262964930214 86 | }, 87 | "topRightFinderPattern": { 88 | "x": 391.75, 89 | "y": 238.5 90 | }, 91 | "topLeftFinderPattern": { 92 | "x": 310.5, 93 | "y": 357 94 | }, 95 | "bottomLeftFinderPattern": { 96 | "x": 415.25, 97 | "y": 406.5 98 | }, 99 | "bottomRightAlignmentPattern": { 100 | "x": 465.75, 101 | "y": 302.5 102 | } 103 | } 104 | } -------------------------------------------------------------------------------- /tests/end-to-end/schiller-denkmal/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/schiller-denkmal/input.png -------------------------------------------------------------------------------- /tests/end-to-end/school-flyer/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/school-flyer/input.png -------------------------------------------------------------------------------- /tests/end-to-end/school-flyer/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/sd-card-1/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/sd-card-1/input.png -------------------------------------------------------------------------------- /tests/end-to-end/sd-card-1/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 105, 11 | 102, 12 | 46, 13 | 103, 14 | 115, 15 | 47, 16 | 49, 17 | 66, 18 | 71, 19 | 73, 20 | 74, 21 | 51, 22 | 55 23 | ], 24 | "data": "http://if.gs/1BGIJ37", 25 | "chunks": [ 26 | { 27 | "type": "byte", 28 | "bytes": [ 29 | 104, 30 | 116, 31 | 116, 32 | 112, 33 | 58, 34 | 47, 35 | 47, 36 | 105, 37 | 102, 38 | 46, 39 | 103, 40 | 115, 41 | 47, 42 | 49, 43 | 66, 44 | 71, 45 | 73, 46 | 74, 47 | 51, 48 | 55 49 | ], 50 | "text": "http://if.gs/1BGIJ37" 51 | } 52 | ], 53 | "version": 2, 54 | "location": { 55 | "topRightCorner": { 56 | "x": 311.5866809594223, 57 | "y": 132.7830437169698 58 | }, 59 | "topLeftCorner": { 60 | "x": 170.97726899178593, 61 | "y": 259.7266323470322 62 | }, 63 | "bottomRightCorner": { 64 | "x": 436.66978739308655, 65 | "y": 272.2004595020229 66 | }, 67 | "bottomLeftCorner": { 68 | "x": 298.3921661009707, 69 | "y": 400.1455816382237 70 | }, 71 | "topRightFinderPattern": { 72 | "x": 309.75, 73 | "y": 170 74 | }, 75 | "topLeftFinderPattern": { 76 | "x": 208.75, 77 | "y": 261.5 78 | }, 79 | "bottomLeftFinderPattern": { 80 | "x": 300.25, 81 | "y": 362.5 82 | }, 83 | "bottomRightAlignmentPattern": { 84 | "x": 368.5, 85 | "y": 269 86 | } 87 | } 88 | } -------------------------------------------------------------------------------- /tests/end-to-end/sd-card-2/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/sd-card-2/input.png -------------------------------------------------------------------------------- /tests/end-to-end/sd-card-2/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 105, 11 | 102, 12 | 46, 13 | 103, 14 | 115, 15 | 47, 16 | 49, 17 | 66, 18 | 71, 19 | 73, 20 | 74, 21 | 51, 22 | 55 23 | ], 24 | "data": "http://if.gs/1BGIJ37", 25 | "chunks": [ 26 | { 27 | "type": "byte", 28 | "bytes": [ 29 | 104, 30 | 116, 31 | 116, 32 | 112, 33 | 58, 34 | 47, 35 | 47, 36 | 105, 37 | 102, 38 | 46, 39 | 103, 40 | 115, 41 | 47, 42 | 49, 43 | 66, 44 | 71, 45 | 73, 46 | 74, 47 | 51, 48 | 55 49 | ], 50 | "text": "http://if.gs/1BGIJ37" 51 | } 52 | ], 53 | "version": 2, 54 | "location": { 55 | "topRightCorner": { 56 | "x": 315.57592932661794, 57 | "y": 194.1362224712729 58 | }, 59 | "topLeftCorner": { 60 | "x": 218.68331657569664, 61 | "y": 193.3723786268314 62 | }, 63 | "bottomRightCorner": { 64 | "x": 313.4762000284592, 65 | "y": 277.7255172059416 66 | }, 67 | "bottomLeftCorner": { 68 | "x": 214.17556930402597, 69 | "y": 277.4789841336773 70 | }, 71 | "topRightFinderPattern": { 72 | "x": 301.75, 73 | "y": 205.5 74 | }, 75 | "topLeftFinderPattern": { 76 | "x": 231.75, 77 | "y": 205 78 | }, 79 | "bottomLeftFinderPattern": { 80 | "x": 228.75, 81 | "y": 265.5 82 | }, 83 | "bottomRightAlignmentPattern": { 84 | "x": 288.5, 85 | "y": 255.5 86 | } 87 | } 88 | } -------------------------------------------------------------------------------- /tests/end-to-end/sheep/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/sheep/input.png -------------------------------------------------------------------------------- /tests/end-to-end/sheep/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/sidewalk/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/sidewalk/input.png -------------------------------------------------------------------------------- /tests/end-to-end/sidewalk/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/square-des-fusilles/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/square-des-fusilles/input.png -------------------------------------------------------------------------------- /tests/end-to-end/square-des-fusilles/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 103, 11 | 108, 12 | 45, 13 | 51, 14 | 56, 15 | 46, 16 | 102, 17 | 114, 18 | 47, 19 | 108, 20 | 53 21 | ], 22 | "data": "http://gl-38.fr/l5", 23 | "chunks": [ 24 | { 25 | "type": "byte", 26 | "bytes": [ 27 | 104, 28 | 116, 29 | 116, 30 | 112, 31 | 58, 32 | 47, 33 | 47, 34 | 103, 35 | 108, 36 | 45, 37 | 51, 38 | 56, 39 | 46, 40 | 102, 41 | 114, 42 | 47, 43 | 108, 44 | 53 45 | ], 46 | "text": "http://gl-38.fr/l5" 47 | } 48 | ], 49 | "version": 2, 50 | "location": { 51 | "topRightCorner": { 52 | "x": 649.5757939640441, 53 | "y": 255.8753434403206 54 | }, 55 | "topLeftCorner": { 56 | "x": 535.153845561457, 57 | "y": 256.8254645625965 58 | }, 59 | "bottomRightCorner": { 60 | "x": 650.9501719960692, 61 | "y": 371.36767915856666 62 | }, 63 | "bottomLeftCorner": { 64 | "x": 535.3391881098588, 65 | "y": 370.4591730205064 66 | }, 67 | "topRightFinderPattern": { 68 | "x": 633.5, 69 | "y": 272 70 | }, 71 | "topLeftFinderPattern": { 72 | "x": 551, 73 | "y": 272.5 74 | }, 75 | "bottomLeftFinderPattern": { 76 | "x": 551.25, 77 | "y": 354.5 78 | }, 79 | "bottomRightAlignmentPattern": { 80 | "x": 620.25, 81 | "y": 341 82 | } 83 | } 84 | } -------------------------------------------------------------------------------- /tests/end-to-end/starbucks-app/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/starbucks-app/input.png -------------------------------------------------------------------------------- /tests/end-to-end/starbucks-app/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/stickerbook-1/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/stickerbook-1/input.png -------------------------------------------------------------------------------- /tests/end-to-end/stickerbook-2/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/stickerbook-2/input.png -------------------------------------------------------------------------------- /tests/end-to-end/stickerbook-3/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/stickerbook-3/input.png -------------------------------------------------------------------------------- /tests/end-to-end/stickerbook-4/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/stickerbook-4/input.png -------------------------------------------------------------------------------- /tests/end-to-end/stickerbook-5/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/stickerbook-5/input.png -------------------------------------------------------------------------------- /tests/end-to-end/stickerbook-6/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/stickerbook-6/input.png -------------------------------------------------------------------------------- /tests/end-to-end/stickerbook-6/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/subway-station/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/subway-station/input.png -------------------------------------------------------------------------------- /tests/end-to-end/subway-station/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/tattoo-scan/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/tattoo-scan/input.png -------------------------------------------------------------------------------- /tests/end-to-end/tattoo-scan/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 119, 11 | 119, 12 | 119, 13 | 46, 14 | 98, 15 | 97, 16 | 114, 17 | 99, 18 | 111, 19 | 100, 20 | 101, 21 | 97, 22 | 114, 23 | 116, 24 | 46, 25 | 99, 26 | 111, 27 | 109 28 | ], 29 | "data": "http://www.barcodeart.com", 30 | "chunks": [ 31 | { 32 | "type": "byte", 33 | "bytes": [ 34 | 104, 35 | 116, 36 | 116, 37 | 112, 38 | 58, 39 | 47, 40 | 47, 41 | 119, 42 | 119, 43 | 119, 44 | 46, 45 | 98, 46 | 97, 47 | 114, 48 | 99, 49 | 111, 50 | 100, 51 | 101, 52 | 97, 53 | 114, 54 | 116, 55 | 46, 56 | 99, 57 | 111, 58 | 109 59 | ], 60 | "text": "http://www.barcodeart.com" 61 | } 62 | ], 63 | "version": 3, 64 | "location": { 65 | "topRightCorner": { 66 | "x": 211.25780501584336, 67 | "y": 81.18094618162168 68 | }, 69 | "topLeftCorner": { 70 | "x": 123.14665320052936, 71 | "y": 89.05401546284043 72 | }, 73 | "bottomRightCorner": { 74 | "x": 218.7240706781086, 75 | "y": 168.5744268041864 76 | }, 77 | "bottomLeftCorner": { 78 | "x": 128.8674257801371, 79 | "y": 176.753786095041 80 | }, 81 | "topRightFinderPattern": { 82 | "x": 201.5, 83 | "y": 92.5 84 | }, 85 | "topLeftFinderPattern": { 86 | "x": 134.5, 87 | "y": 98.5 88 | }, 89 | "bottomLeftFinderPattern": { 90 | "x": 139, 91 | "y": 165 92 | }, 93 | "bottomRightAlignmentPattern": { 94 | "x": 197, 95 | "y": 150.5 96 | } 97 | } 98 | } -------------------------------------------------------------------------------- /tests/end-to-end/trackable-book-1/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/trackable-book-1/input.png -------------------------------------------------------------------------------- /tests/end-to-end/trackable-book-1/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/trackable-book-2/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/trackable-book-2/input.png -------------------------------------------------------------------------------- /tests/end-to-end/trackable-book-2/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/trackable-book-3/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/trackable-book-3/input.png -------------------------------------------------------------------------------- /tests/end-to-end/trackable-book-3/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 105, 11 | 102, 12 | 46, 13 | 103, 14 | 115, 15 | 47, 16 | 49, 17 | 80, 18 | 71, 19 | 50, 20 | 82, 21 | 57, 22 | 67 23 | ], 24 | "data": "http://if.gs/1PG2R9C", 25 | "chunks": [ 26 | { 27 | "type": "byte", 28 | "bytes": [ 29 | 104, 30 | 116, 31 | 116, 32 | 112, 33 | 58, 34 | 47, 35 | 47, 36 | 105, 37 | 102, 38 | 46, 39 | 103, 40 | 115, 41 | 47, 42 | 49, 43 | 80, 44 | 71, 45 | 50, 46 | 82, 47 | 57, 48 | 67 49 | ], 50 | "text": "http://if.gs/1PG2R9C" 51 | } 52 | ], 53 | "version": 2, 54 | "location": { 55 | "topRightCorner": { 56 | "x": 209.87668320340188, 57 | "y": 234.04110559886607 58 | }, 59 | "topLeftCorner": { 60 | "x": 137.94136574901682, 61 | "y": 204.9120486235252 62 | }, 63 | "bottomRightCorner": { 64 | "x": 196.40407717510013, 65 | "y": 292.6061157626502 66 | }, 67 | "bottomLeftCorner": { 68 | "x": 122.36296840558416, 69 | "y": 263.21234386480535 70 | }, 71 | "topRightFinderPattern": { 72 | "x": 198, 73 | "y": 238 74 | }, 75 | "topLeftFinderPattern": { 76 | "x": 146, 77 | "y": 217 78 | }, 79 | "bottomLeftFinderPattern": { 80 | "x": 135, 81 | "y": 259 82 | }, 83 | "bottomRightAlignmentPattern": { 84 | "x": 181, 85 | "y": 269.5 86 | } 87 | } 88 | } -------------------------------------------------------------------------------- /tests/end-to-end/trackable-book-4/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/trackable-book-4/input.png -------------------------------------------------------------------------------- /tests/end-to-end/trackable-book-4/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/trackable-book-5/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/trackable-book-5/input.png -------------------------------------------------------------------------------- /tests/end-to-end/trackable-book-5/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 105, 11 | 102, 12 | 46, 13 | 103, 14 | 115, 15 | 47, 16 | 50, 17 | 87, 18 | 85, 19 | 52, 20 | 53, 21 | 81, 22 | 55 23 | ], 24 | "data": "http://if.gs/2WU45Q7", 25 | "chunks": [ 26 | { 27 | "type": "byte", 28 | "bytes": [ 29 | 104, 30 | 116, 31 | 116, 32 | 112, 33 | 58, 34 | 47, 35 | 47, 36 | 105, 37 | 102, 38 | 46, 39 | 103, 40 | 115, 41 | 47, 42 | 50, 43 | 87, 44 | 85, 45 | 52, 46 | 53, 47 | 81, 48 | 55 49 | ], 50 | "text": "http://if.gs/2WU45Q7" 51 | } 52 | ], 53 | "version": 2, 54 | "location": { 55 | "topRightCorner": { 56 | "x": 321.2562628052142, 57 | "y": 391.53557101297815 58 | }, 59 | "topLeftCorner": { 60 | "x": 250.08965257132715, 61 | "y": 364.30421085326356 62 | }, 63 | "bottomRightCorner": { 64 | "x": 313.8566949793214, 65 | "y": 455.16182683328145 66 | }, 67 | "bottomLeftCorner": { 68 | "x": 239.9644856745366, 69 | "y": 429.05485276559847 70 | }, 71 | "topRightFinderPattern": { 72 | "x": 310.5, 73 | "y": 396.5 74 | }, 75 | "topLeftFinderPattern": { 76 | "x": 259, 77 | "y": 377 78 | }, 79 | "bottomLeftFinderPattern": { 80 | "x": 252, 81 | "y": 423.5 82 | }, 83 | "bottomRightAlignmentPattern": { 84 | "x": 297.25, 85 | "y": 431.5 86 | } 87 | } 88 | } -------------------------------------------------------------------------------- /tests/end-to-end/trackable-book-6/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/trackable-book-6/input.png -------------------------------------------------------------------------------- /tests/end-to-end/trackable-book-6/output.json: -------------------------------------------------------------------------------- 1 | { 2 | "binaryData": [ 3 | 104, 4 | 116, 5 | 116, 6 | 112, 7 | 58, 8 | 47, 9 | 47, 10 | 105, 11 | 102, 12 | 46, 13 | 103, 14 | 115, 15 | 47, 16 | 51, 17 | 88, 18 | 65, 19 | 74, 20 | 75, 21 | 86, 22 | 71 23 | ], 24 | "data": "http://if.gs/3XAJKVG", 25 | "chunks": [ 26 | { 27 | "type": "byte", 28 | "bytes": [ 29 | 104, 30 | 116, 31 | 116, 32 | 112, 33 | 58, 34 | 47, 35 | 47, 36 | 105, 37 | 102, 38 | 46, 39 | 103, 40 | 115, 41 | 47, 42 | 51, 43 | 88, 44 | 65, 45 | 74, 46 | 75, 47 | 86, 48 | 71 49 | ], 50 | "text": "http://if.gs/3XAJKVG" 51 | } 52 | ], 53 | "version": 2, 54 | "location": { 55 | "topRightCorner": { 56 | "x": 184.7894885295224, 57 | "y": 337.1573019177347 58 | }, 59 | "topLeftCorner": { 60 | "x": 108.49671591763747, 61 | "y": 307.81171864924045 62 | }, 63 | "bottomRightCorner": { 64 | "x": 170.99291555442258, 65 | "y": 401.97265943533 66 | }, 67 | "bottomLeftCorner": { 68 | "x": 91.32750582137366, 69 | "y": 373.98618729715383 70 | }, 71 | "topRightFinderPattern": { 72 | "x": 172.5, 73 | "y": 342 74 | }, 75 | "topLeftFinderPattern": { 76 | "x": 117.25, 77 | "y": 321 78 | }, 79 | "bottomLeftFinderPattern": { 80 | "x": 105.25, 81 | "y": 368.5 82 | }, 83 | "bottomRightAlignmentPattern": { 84 | "x": 154.75, 85 | "y": 377.5 86 | } 87 | } 88 | } -------------------------------------------------------------------------------- /tests/end-to-end/tree-1/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/tree-1/input.png -------------------------------------------------------------------------------- /tests/end-to-end/tree-2/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/tree-2/input.png -------------------------------------------------------------------------------- /tests/end-to-end/videogame-frame/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/videogame-frame/input.png -------------------------------------------------------------------------------- /tests/end-to-end/videogame-frame/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/end-to-end/weekend-tirana-2016-agenda/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/weekend-tirana-2016-agenda/input.png -------------------------------------------------------------------------------- /tests/end-to-end/windows-screenshot/input.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cozmo/jsQR/8e6a036beafa7053dd44b1b76ac578d22b1b3311/tests/end-to-end/windows-screenshot/input.png -------------------------------------------------------------------------------- /tests/end-to-end/windows-screenshot/output.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /tests/generate-test-data.ts: -------------------------------------------------------------------------------- 1 | import * as fs from "fs-extra"; 2 | import * as path from "path"; 3 | import jsQR from "../src"; 4 | 5 | import * as helpers from "./helpers"; 6 | 7 | const report = { 8 | counts: { 9 | failed: 0, 10 | successful: 0, 11 | }, 12 | tests: {}, 13 | }; 14 | 15 | (async () => { 16 | const tests = (await fs.readdir(path.join("tests", "end-to-end"))).filter((n) => !n.includes(".")); 17 | 18 | for (const t of tests) { 19 | const imageData = await helpers.loadPng(path.join("tests", "end-to-end", t, "input.png")); 20 | const output = jsQR(imageData.data, imageData.width, imageData.height); 21 | 22 | await fs.writeFile(path.join("tests", "end-to-end", t, "output.json"), JSON.stringify(output, null, 2), "utf8"); 23 | report.tests[t] = !!output; 24 | report.counts[!!output ? "successful" : "failed"]++; 25 | } 26 | 27 | await fs.writeFile(path.join("tests", "end-to-end", "report.json"), JSON.stringify(report, null, 2)); 28 | })().then(() => process.exit(0)).catch((e) => { throw e; }); 29 | -------------------------------------------------------------------------------- /tests/helpers.ts: -------------------------------------------------------------------------------- 1 | import * as fs from "fs-extra"; 2 | import * as png from "upng-js"; 3 | 4 | import { BitMatrix } from "../src/BitMatrix"; 5 | 6 | export function bitMatrixToPng(matrix: BitMatrix) { 7 | const output = new Uint8ClampedArray(matrix.width * matrix.height * 4); 8 | for (let y = 0; y < matrix.height; y++) { 9 | for (let x = 0; x < matrix.width; x++) { 10 | const v = matrix.get(x, y); 11 | const i = (y * matrix.width + x) * 4; 12 | output[i + 0] = v ? 0x00 : 0xff; 13 | output[i + 1] = v ? 0x00 : 0xff; 14 | output[i + 2] = v ? 0x00 : 0xff; 15 | output[i + 3] = 0xff; 16 | } 17 | } 18 | return new Buffer(png.encode(output, matrix.width, matrix.height, 0)); 19 | } 20 | 21 | export async function loadPng(path) { 22 | const data = png.decode(await fs.readFile(path)); 23 | const out: { 24 | data: Uint8ClampedArray, 25 | height: number, 26 | width: number, 27 | } = { 28 | data: png.toRGBA8(data), 29 | height: data.height, 30 | width: data.width, 31 | }; 32 | return out; 33 | } 34 | 35 | export async function loadBinarized(path) { 36 | const image = await loadPng(path); 37 | const out = BitMatrix.createEmpty(image.width, image.height); 38 | for (let x = 0; x < image.width; x++) { 39 | for (let y = 0; y < image.height; y++) { 40 | out.set(x, y, image.data[(y * image.width + x) * 4] === 0x00); 41 | } 42 | } 43 | return out; 44 | } 45 | -------------------------------------------------------------------------------- /tests/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "lib": ["es2017"], 5 | "target": "es6", 6 | "typeRoots": [ 7 | "../node_modules/@types", 8 | "../src/common", 9 | "./types" 10 | ] 11 | }, 12 | "files": [ 13 | "./generate-test-data.ts" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /tests/types/upng-js/index.d.ts: -------------------------------------------------------------------------------- 1 | declare module "upng-js" { 2 | export interface DecodedPng { 3 | height: number; 4 | width: number; 5 | data: Uint8ClampedArray; 6 | depth: number, 7 | tabs: any[], 8 | ctype: string, 9 | } 10 | 11 | export function decode(data: Buffer): DecodedPng; 12 | export function encode(data: Uint8ClampedArray, width: number, height: number, cnum: number): ArrayBuffer; 13 | export function toRGBA8(data: DecodedPng): Uint8ClampedArray; 14 | } 15 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "noImplicitAny": true, 5 | "target": "es5", 6 | "typeRoots": [], 7 | "declaration": true, 8 | "outDir": "./dist", 9 | "newLine": "LF" 10 | }, 11 | "files": [ 12 | "./src/index.ts" 13 | ] 14 | } 15 | -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaultSeverity": "error", 3 | "extends": [ 4 | "tslint:recommended" 5 | ], 6 | "jsRules": {}, 7 | "rules": { 8 | "arrow-parens": false, 9 | "max-line-length": [true, 140], 10 | "interface-name": false, 11 | "object-literal-sort-keys": false 12 | }, 13 | "rulesDirectory": [] 14 | } 15 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | entry: { 3 | './dist/jsQR.js': './src/index.ts', 4 | './docs/jsQR.js': './src/index.ts', 5 | }, 6 | output: { 7 | filename: '[name]', 8 | libraryTarget: 'umd', 9 | libraryExport: "default", 10 | library: "jsQR", 11 | }, 12 | resolve: { 13 | extensions: [".ts"] 14 | }, 15 | module: { 16 | rules: [ 17 | { test: /\.ts$/, use: [{ loader: "awesome-typescript-loader" }] } 18 | ] 19 | } 20 | } 21 | --------------------------------------------------------------------------------