強力なQRコードデコーダ
Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
samples
.gitignore
LICENSE
README.md
sqrd.py

README.md

strong-qr-decoder

強力なQRコードデコーダ

特徴

  • 誤り訂正に失敗しても無理やりデータ部分を読み出します
  • 形式情報をの読み出しに失敗しても、エラー訂正レベルやマスクパターンを自分で設定できます
  • --verboseオプションを使うとわりと詳細な出力が得られます

ヘルプ

% ./sqrt.py --help
usage: sqrd.py [-h] [-e ERROR_CORRECTION] [-m MASK] [-n] [-v] [FILE]

sqrd - Strong QR Decoder

positional arguments:
  FILE                  入力ファイル(デフォルトは標準入力)

optional arguments:
  -h, --help            show this help message and exit
  -e ERROR_CORRECTION, --error-correction ERROR_CORRECTION
                        エラー訂正レベル(1:L 0:M 3:Q 2:H)
  -m MASK, --mask MASK  マスクパターン(0〜7)
  -n, --no-correction   データブロックの誤り訂正をしない
  -v, --verbose         詳細な情報を表示

使い方

QRコードをテキストデータで流し込みます。

  • 'X', 'x', 'O', 'o', '#', '1'は暗モジュールとして扱われます。
  • '_', '-', ' ', '0'は明モジュールとして扱われます。
  • '?'は明暗が不明であるモジュールとして扱われます(マスク解除後に明モジュール扱いになります)

以下のデータをqr.txtとして保存します。

XXXXXXX_X_XX_X____XXXXXXX
X_____X_XXX_XXX_X_X_____X
X_XXX_X_XX______X_X_XXX_X
X_XXX_X____X_X__X_X_XXX_X
X_XXX_X__X_XXXXX__X_XXX_X
X_____X_X__X_X_X__X_____X
XXXXXXX_X_X_X_X_X_XXXXXXX
________X__X_XX_X________
__XXX_X_X__XXX___XXX__XXX
XX_XX__X__X__X_XXX_X__X__
X___X_X_X_XX__X__XXX___XX
XX_X_X__X_XXX_____X____XX
_X_X__XXX__X_X_X_XX_X_X_X
X_X_______XXXX_XX__X_X___
X_XX__X_X_XXX_X___X__X_XX
X_X_____XX_XX___XXXX___X_
X_X_X_X_X_X___X_XXXXXXX_X
________XX_X_X__X___X_XX_
XXXXXXX____X__XXX_X_XX_XX
X_____X__X_X_X_XX___X__X_
X_XXX_X_X_XXXXXXXXXXXXX__
X_XXX_X_X__XXX____X_X___X
X_XXX_X_X__X_X_X__XX____X
X_____X___X_XX_X_X_XX___X
XXXXXXX____X__X_X__XX__XX

実行するとデコード結果が表示されます。

% ./sqrd qr.txt
sample_data