klasa QRCode – obiekt QRCode

Obiekt qrcode jest krotką attrtuple zwracaną przez Image.find_qrcodes(). Każda instancja opisuje zdekodowany kod QR: jego ramkę ograniczającą, zdekodowaną zawartość, metadane dekodera (wersja, poziom ECC, maska, typ danych, ECI), cztery wykryte narożniki oraz wygodne flagi logiczne identyfikujące kodowanie zawartości.

Pola są dostępne według nazwy atrybutu (qrcode.payload) lub indeksu (qrcode[0]). Obiekt nie ma publicznego konstruktora.

class image.qrcode

Aby utworzyć ten obiekt, wywołaj Image.find_qrcodes().

Ramka ograniczająca i narożniki

x

Współrzędna x lewego górnego rogu ramki ograniczającej, w pikselach. Liczba całkowita. Indeks [0].

y

Współrzędna y lewego górnego rogu ramki ograniczającej, w pikselach. Liczba całkowita. Indeks [1].

w

Szerokość ramki ograniczającej, w pikselach. Liczba całkowita. Indeks [2].

h

Wysokość ramki ograniczającej, w pikselach. Liczba całkowita. Indeks [3].

corners

4-elementowa krotka całkowitych krotek (x, y) dla czterech wykrytych narożników kodu QR, posortowanych zgodnie z ruchem wskazówek zegara, począwszy od lewego górnego narożnika. Indeks [10].

rect

4-elementowa krotka (x, y, w, h) ramki ograniczającej. Nadaje się do bezpośredniego przekazania do metod rysowania/kadrowania, takich jak Image.draw_rectangle() lub Image.crop(). Indeks [15].

Zdekodowana zawartość

payload

Łańcuch znaków zdekodowanej zawartości. Indeks [4].

Metadane dekodera

version

Wersja kodu QR, 1 – 40. Wyższe wersje kodują więcej danych i mają większe moduły. Liczba całkowita. Indeks [5].

ecc_level

Poziom korekcji błędów, 0 – 3 (odpowiadający L / M / Q / H). Wyższe wartości rezerwują więcej słów kodowych na korekcję błędów. Liczba całkowita. Indeks [6].

mask

Wzorzec maski, 0 – 7. Używany przez koder kodu QR do wyboru wzorca modułów, który minimalizuje pomyłki dekodera. Liczba całkowita. Indeks [7].

data_type

Kodowanie zawartości w postaci zgłoszonej przez dekoder. Jedna z następujących wartości maski bitowej: 1 numeryczne, 2 alfanumeryczne, 4 binarne, 8 Kanji. Bardziej przyjazną postać znajdziesz w atrybutach poszczególnych flag poniżej. Liczba całkowita. Indeks [8].

eci

Wartość Extended Channel Interpretation. Koduje kodowanie tekstu użyte dla bajtów w zawartości (np. UTF-8 a ISO-8859-1). Liczba całkowita. Indeks [9].

Flagi kodowania

is_numeric

True, jeśli data_type wskazuje na zawartość numeryczną. Indeks [11].

is_alphanumeric

True, jeśli data_type wskazuje na zawartość alfanumeryczną. Indeks [12].

is_binary

True, jeśli data_type wskazuje na zawartość binarną. Gdy jest to True, sprawdź eci, aby określić kodowanie tekstu. Indeks [13].

is_kanji

True, jeśli data_type wskazuje na zawartość Kanji. Symbole Kanji mają 10 bitów na znak, a MicroPython nie parsuje tego kodowania – zawartość należy traktować jako tablicę bajtów. Indeks [14].