класс 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двоичная,8Kanji. Более удобную форму см. в атрибутах для отдельных флагов ниже. Целое число. Индекс[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].