класс QRCode – объект QRCode

Объект qrcode – это attrtuple, возвращаемый методом Image.find_qrcodes(). Каждый экземпляр описывает декодированный QR-код: его ограничивающую рамку, декодированную полезную нагрузку, метаданные декодера (версия, уровень ECC, маска, тип данных, ECI), четыре обнаруженных угла и удобные булевы флаги, определяющие кодировку полезной нагрузки.

Поля доступны по имени атрибута (qrcode.payload) или по индексу (qrcode[0]). У объекта нет открытого конструктора.

class image.qrcode

Чтобы создать этот объект, вызовите Image.find_qrcodes().

Ограничивающая рамка и углы

x

Координата x верхнего левого угла ограничивающей рамки, в пикселях. Целое число. Индекс [0].

y

Координата y верхнего левого угла ограничивающей рамки, в пикселях. Целое число. Индекс [1].

w

Ширина ограничивающей рамки, в пикселях. Целое число. Индекс [2].

h

Высота ограничивающей рамки, в пикселях. Целое число. Индекс [3].

corners

4-элементный кортеж целочисленных кортежей (x, y) для четырёх обнаруженных углов QR-кода, отсортированных по часовой стрелке начиная с верхнего левого угла. Индекс [10].

rect

4-элементный кортеж (x, y, w, h) ограничивающей рамки. Подходит для прямой передачи методам рисования/обрезки, таким как 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 Kanji. Более удобную форму см. в атрибутах для отдельных флагов ниже. Целое число. Индекс [8].

eci

Значение Extended Channel Interpretation. Кодирует текстовую кодировку, используемую для байтов полезной нагрузки (например, UTF-8 против ISO-8859-1). Целое число. Индекс [9].

Флаги кодировки

is_numeric

True, если data_type указывает на числовую полезную нагрузку. Индекс [11].

is_alphanumeric

True, если data_type указывает на буквенно-цифровую полезную нагрузку. Индекс [12].

is_binary

True, если data_type указывает на двоичную полезную нагрузку. Когда это True, проверьте eci, чтобы определить текстовую кодировку. Индекс [13].

is_kanji

True, если data_type указывает на полезную нагрузку Kanji. Символы Kanji занимают 10 бит на символ, и MicroPython не разбирает эту кодировку – полезную нагрузку необходимо рассматривать как массив байтов. Индекс [14].