<MyRusakov.ru />

Программирование на C# с Нуля до Гуру

Программирование на C# с Нуля до Гуру

Данный курс научит Вас программировать на языке C#, который является одним из самых востребованных языков программирования в мире. Курс состоит из 7 разделов, в которых Вы с нуля освоите этот язык и сможете создавать самые разные программы для самых разных задач любой сложности.

В курсе Вы получите всю необходимую теоретическую часть, а также увидите массу практических примеров, в том числе, и из моей практики. Дополнительно, почти к каждому уроку идут упражнения.

Помимо самого курса Вас ждут ещё 3 бесплатных ценных Бонуса: «Технология Windows Presentation Foundation», «Создание библиотеки классов» и «Правильная работа со справочником».

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Python - cоздание и считывание QR кода

Python - cоздание и считывание QR кода

QR код является в настоящее время распространенным способом хранение информации, как на реальных объектах так и в виртуальной среде, например сканированием штрих кода можно оплатить покупку или перейти на интересующий сайт. Данную возможность можно реализовать в Python , используя Opencv, имеющий встроенную функцию для считывания информации, и библиотеки qrcode. Для начала установим соответствующие пакеты:


pip3 install opencv-python qrcode 


import qrcode # импотируем модуль 

string = "https://myrusakov.ru" # строка для перевода в QR



file = "myrusakov_out.jpg" # файл для хранения полученного штрих кода

image = qrcode.make(string) # метод отвечает за преобразование строки в QR


image.save(file) # сохранение  полученного объекта в  файл  myrusakov_out.jpg

При этом в QR коде можно закодировать достаточно длинную строку, размеры которой все же ограничены. Нас же пока что интересует хранение адресной строки сайта, и последующее считывание данных. Следует отметить что для считывания кода в программной области существует множество инструментов, мы же используем Opencv, как наиболее удобный для нас, в виду возможности интеграции с веб камерой компьютера, или видеопотоком. Для корректного исполнения кода, изображение с QR кодом следует держать одной папке с нашим скриптом. Следующий скрипт выводит декодированную строку.


import cv2   # импорт модуля  из библиотеки Opencv
import numpy as np # модуль обработки массивов
import sys  # системный модуль
import time  


# Первый блок проверяет условие, передан ли скрипту в командной строке дополнительный аргумент в виде картинки **QR кода**. Если первое условие ложно, то считывается указанная нами картинка. 

if len(sys.argv)>1:
    inputImage = cv2.imread(sys.argv[1])  
else:
    inputImage = cv2.imread("myrusakov_out.jpg") #  стандартный метод opencv для считывания изображения



#  Создание функции выводящей в отдельном окне изображение QR с синим обрамлением. 
def display(im, bbox):

    n = len(bbox)

    for j in range(n):

        cv2.line(im, tuple(bbox[j][0]), tuple(bbox[ (j+1) % n][0]), (255,0,0), 3)
 
    # Display results
    cv2.imshow("Results", im)



# В Opencv имеется  встроенный метод детектор QR

qrDecoder = cv2.QRCodeDetector() # создание объекта детектора

 

# Нахождение и декодирование нашего кода. Метод **detectAndDecode** возвращает  кортеж из трех  значений которыми кодируется QR, где первый аргумент data содержит декодированную строку, bbox - координаты вершин нашего изображения и rectifiedImage,  содержит **QR** изображение в виде массива пикселей.

data, bbox, rectifiedImage = qrDecoder.detectAndDecode(inputImage)

if len(data)>0:

    print("Decoded Data : {}".format(data)) # вывод декодированной строки

    display(inputImage, bbox)

    #rectifiedImage = np.uint8(rectifiedImage);

    #cv2.imshow("Rectified QRCode", rectifiedImage); 

else:

    print("QR Code not detected")  

    cv2.imshow("Results", inputImage)



cv2.waitKey(0)

cv2.destroyAllWindows()

Таким образом, в данной статье мы научились программно создавать QR код из исходных данных, а также расшифровывать его.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.