class QRCode -- QRCode オブジェクト#
qrcode オブジェクトは、Image.find_qrcodes() によって返される attrtuple です。各インスタンスはデコードされた QR コードを記述します。すなわち、そのバウンディングボックス、デコードされたペイロード、デコーダのメタデータ(バージョン、ECC レベル、マスク、データ型、ECI)、検出された 4 つのコーナー、そしてペイロードのエンコーディングを示す便利なブール値フラグです。
フィールドは属性名(qrcode.payload)またはインデックス(qrcode[0])でアクセスできます。このオブジェクトには公開されたコンストラクタはありません。
- class image.qrcode#
このオブジェクトを作成するには
Image.find_qrcodes()を呼び出してください。バウンディングボックスとコーナー#
- x#
バウンディングボックスの左上 x 座標。ピクセル単位。整数。インデックス
[0]。
- y#
バウンディングボックスの左上 y 座標。ピクセル単位。整数。インデックス
[1]。
- w#
バウンディングボックスの幅。ピクセル単位。整数。インデックス
[2]。
- h#
バウンディングボックスの高さ。ピクセル単位。整数。インデックス
[3]。
- corners#
QR コードの検出された 4 つのコーナーを表す
(x, y)整数タプルの 4 要素タプル。左上のコーナーから時計回りにソートされています。インデックス[10]。
- rect#
バウンディングボックスの
(x, y, w, h)4 要素タプル。Image.draw_rectangle()やImage.crop()などの描画・切り抜きメソッドへ直接渡すのに適しています。インデックス[15]。
デコードされたペイロード#
- payload#
デコードされたペイロード文字列。インデックス
[4]。
デコーダのメタデータ#
- version#
QR コードのバージョン。1 -- 40。バージョンが高いほど多くのデータをエンコードでき、モジュールが大きくなります。整数。インデックス
[5]。
- ecc_level#
誤り訂正レベル。0 -- 3(L / M / Q / H に対応)。値が高いほど誤り訂正用に多くのコードワードが確保されます。整数。インデックス
[6]。
- mask#
マスクパターン。0 -- 7。QR コードのエンコーダがデコーダの混乱を最小化するモジュールパターンを選ぶために使用します。整数。インデックス
[7]。
- data_type#
デコーダが報告したペイロードのエンコーディング。次のビットマスク値のいずれかです:
1数字、2英数字、4バイナリ、8漢字。より分かりやすい形式については下記のフラグごとの属性を参照してください。整数。インデックス[8]。
- eci#
拡張チャンネル解釈(Extended Channel Interpretation)の値。ペイロード内のバイトに使用されたテキストエンコーディング(例: UTF-8 と ISO-8859-1 の違い)をエンコードします。整数。インデックス
[9]。
エンコーディングフラグ#
- is_numeric#
data_typeが数字ペイロードを示している場合はTrue。インデックス[11]。
- is_alphanumeric#
data_typeが英数字ペイロードを示している場合はTrue。インデックス[12]。
- is_binary#
data_typeがバイナリペイロードを示している場合はTrue。これがTrueの場合、テキストエンコーディングを判断するにはeciを確認してください。インデックス[13]。
- is_kanji#
data_typeが漢字ペイロードを示している場合はTrue。漢字シンボルは 1 文字あたり 10 ビットで、MicroPython はこのエンコーディングを解析しません。ペイロードはバイト配列として扱う必要があります。インデックス[14]。