Partial QR Code Decoder
Project description
Partial QR Code Decoder
An aggressive QR code decoder that can recover data from partially missing or damaged QR codes.
Usage
partial-qr --input path/to/qr_code_matrix.txt
The input must be either a text file, containing a matrix of characters, or an image file.
When the input is a text file, the content must be a grid of characters, where each character is one of:
#,X,1- representing a black module,.,0- representing a white module?- representing the unknown cells that the decoder will try to recover
When the input is an image file, the program will try to detect the size of the QR code, but it
can sometimes misdetect it, and in that case, the --qr-version option can be used to specify
the version of the QR code (1-40). The image must only contain the QR code, in a well-aligned grid
with no perspective distortion. Recognizing QR codes from photographs or heavily distorted images
is not in the scope of this project, and will not be supported.
Each cell in the QR image must be close to a solid black, solid white, or middle gray color,
and the program will classify them as black, white, or unknown based on a simple thresholding
of the lightness.
If the input is too corrupted, bruteforce strength can be increased, but beware of the exponential runtime increase, especially for higher versions:
partial-qr --input path/to/qr_code_matrix.txt --max-brute-bits 24
Additional hints can be provided to the bruteforce to speed it up:
--ascii - Assume the data is ASCII, which reduces the search space significantly.
--url - Assume the data is a URL, so it must start with either http:// or https://.
--parallel - Enable parallel bruteforce using all available CPU cores.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file partial_qr-0.0.33.tar.gz.
File metadata
- Download URL: partial_qr-0.0.33.tar.gz
- Upload date:
- Size: 29.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecc8be835cb0e7ae04b933a72d63a8025a2ce907abe42c5ad74422aa526175ff
|
|
| MD5 |
2b2829a9e4efbc8045a72da6b4ada5f5
|
|
| BLAKE2b-256 |
0bd3d3011a75a40877275864ad5d90e5a3081bea962896bdddd6b0298451679e
|
File details
Details for the file partial_qr-0.0.33-py3-none-any.whl.
File metadata
- Download URL: partial_qr-0.0.33-py3-none-any.whl
- Upload date:
- Size: 33.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2e177c8df94df7d12d6d0f1ce9e514881de98d8f7b8e2ccc342d6a4e569354d
|
|
| MD5 |
b00955bea5d3799e9f6589fe0f293022
|
|
| BLAKE2b-256 |
cf845aa686fa77b1e1a834ea343380a64a6a0acdab87a1ccb50f7b5aff52792d
|