classe QRCode – oggetto QRCode

L’oggetto qrcode è una attrtuple restituita da Image.find_qrcodes(). Ogni istanza descrive un QR-code decodificato: il suo bounding box, il payload decodificato, i metadati del decodificatore (versione, livello ECC, maschera, tipo di dato, ECI), i quattro angoli rilevati e comodi flag booleani che identificano la codifica del payload.

I campi sono accessibili per nome di attributo (qrcode.payload) o per indice (qrcode[0]). L’oggetto non ha un costruttore pubblico.

class image.qrcode

Chiama Image.find_qrcodes() per creare questo oggetto.

Bounding box e angoli

x

Coordinata x dell’angolo in alto a sinistra del bounding box, in pixel. Intero. Indice [0].

y

Coordinata y dell’angolo in alto a sinistra del bounding box, in pixel. Intero. Indice [1].

w

Larghezza del bounding box, in pixel. Intero. Indice [2].

h

Altezza del bounding box, in pixel. Intero. Indice [3].

corners

Tupla di 4 elementi di tuple intere (x, y) per i quattro angoli rilevati del QR code, ordinate in senso orario a partire dall’angolo in alto a sinistra. Indice [10].

rect

Tupla di 4 elementi (x, y, w, h) del bounding box. Adatta per essere passata direttamente ai metodi di disegno/ritaglio come Image.draw_rectangle() o Image.crop(). Indice [15].

Payload decodificato

payload

Stringa del payload decodificato. Indice [4].

Metadati del decodificatore

version

Versione del QR-code, 1 – 40. Le versioni più alte codificano più dati e hanno moduli più grandi. Intero. Indice [5].

ecc_level

Livello di correzione degli errori, 0 – 3 (corrispondente a L / M / Q / H). Valori più alti riservano più codeword alla correzione degli errori. Intero. Indice [6].

mask

Pattern di maschera, 0 – 7. Usato dal codificatore del QR-code per scegliere il pattern dei moduli che minimizza la confusione del decodificatore. Intero. Indice [7].

data_type

Codifica del payload così come riportata dal decodificatore. Uno dei seguenti valori di bitmask: 1 numerico, 2 alfanumerico, 4 binario, 8 Kanji. Vedi gli attributi per singolo flag qui sotto per una forma più comoda. Intero. Indice [8].

eci

Valore di Extended Channel Interpretation. Codifica la codifica di testo usata per i byte nel payload (ad es. UTF-8 rispetto a ISO-8859-1). Intero. Indice [9].

Flag di codifica

is_numeric

True se data_type indica un payload numerico. Indice [11].

is_alphanumeric

True se data_type indica un payload alfanumerico. Indice [12].

is_binary

True se data_type indica un payload binario. Controlla eci per determinare la codifica di testo quando questo è True. Indice [13].

is_kanji

True se data_type indica un payload Kanji. I simboli Kanji sono di 10 bit per carattere e MicroPython non analizza questa codifica – il payload deve essere trattato come un array di byte. Indice [14].