class QRCode – QRCode-Objekt#

Das qrcode-Objekt ist ein attrtuple, das von Image.find_qrcodes() zurückgegeben wird. Jede Instanz beschreibt einen dekodierten QR-Code: seinen Begrenzungsrahmen, die dekodierte Nutzlast, Decoder-Metadaten (Version, ECC-Stufe, Maske, Datentyp, ECI), die vier erkannten Ecken sowie praktische boolesche Flags, die die Kodierung der Nutzlast angeben.

Felder sind über den Attributnamen (qrcode.payload) oder über den Index (qrcode[0]) zugänglich. Das Objekt hat keinen öffentlichen Konstruktor.

class image.qrcode#

Rufen Sie Image.find_qrcodes() auf, um dieses Objekt zu erstellen.

Begrenzungsrahmen und Ecken#

x#

X-Koordinate der oberen linken Ecke des Begrenzungsrahmens, in Pixeln. Ganzzahl. Index [0].

y#

Y-Koordinate der oberen linken Ecke des Begrenzungsrahmens, in Pixeln. Ganzzahl. Index [1].

w#

Breite des Begrenzungsrahmens, in Pixeln. Ganzzahl. Index [2].

h#

Höhe des Begrenzungsrahmens, in Pixeln. Ganzzahl. Index [3].

corners#

4-Tupel von ganzzahligen (x, y)-Tupeln für die vier erkannten Ecken des QR-Codes, im Uhrzeigersinn sortiert, beginnend bei der oberen linken Ecke. Index [10].

rect#

(x, y, w, h)-4-Tupel des Begrenzungsrahmens. Geeignet zur direkten Übergabe an Zeichen-/Zuschneidemethoden wie Image.draw_rectangle() oder Image.crop(). Index [15].

Dekodierte Nutzlast#

payload#

Dekodierte Nutzlast-Zeichenkette. Index [4].

Decoder-Metadaten#

version#

QR-Code-Version, 1 – 40. Höhere Versionen kodieren mehr Daten und haben größere Module. Ganzzahl. Index [5].

ecc_level#

Fehlerkorrektur-Stufe, 0 – 3 (entsprechend L / M / Q / H). Höhere Werte reservieren mehr Codewörter für die Fehlerkorrektur. Ganzzahl. Index [6].

mask#

Maskenmuster, 0 – 7. Wird vom QR-Code-Encoder verwendet, um das Modulmuster zu wählen, das Verwirrung beim Decoder minimiert. Ganzzahl. Index [7].

data_type#

Kodierung der Nutzlast, wie vom Decoder gemeldet. Einer der folgenden Bitmaskenwerte: 1 numerisch, 2 alphanumerisch, 4 binär, 8 Kanji. Siehe die Attribute pro Flag weiter unten für eine benutzerfreundlichere Form. Ganzzahl. Index [8].

eci#

Extended-Channel-Interpretation-Wert. Kodiert die für die Bytes in der Nutzlast verwendete Textkodierung (z. B. UTF-8 versus ISO-8859-1). Ganzzahl. Index [9].

Kodierungs-Flags#

is_numeric#

True, wenn data_type eine numerische Nutzlast angibt. Index [11].

is_alphanumeric#

True, wenn data_type eine alphanumerische Nutzlast angibt. Index [12].

is_binary#

True, wenn data_type eine binäre Nutzlast angibt. Prüfen Sie eci, um die Textkodierung zu bestimmen, wenn dies True ist. Index [13].

is_kanji#

True, wenn data_type eine Kanji-Nutzlast angibt. Kanji-Symbole umfassen 10 Bit pro Zeichen, und MicroPython parst diese Kodierung nicht – die Nutzlast muss als Byte-Array behandelt werden. Index [14].