Comment générer un code QR et un code à barres en Python et le lire normalement ou en temps réel avec OpenCV

0. Premier

Si vous souhaitez voir comment fonctionne le produit que vous fabriquez cette fois-ci, veuillez consulter ici (vidéo youtube).

Tout d'abord, installez immédiatement ce dont vous avez besoin.

pip install pyqrcode
pip install pypng
pip install python_barcode
pip install pyzbar

1. Génération de code QR

Ici, commencez par générer un code QR contenant des informations sur les caractères.

qrcode_barcode.py


import pyqrcode

a = pyqrcode.create(content="Hello From Jetsonnano",error='H') 

a.png(file='test.png',scale=6) 

Lorsque vous exécutez cela, le code QR suivant sera créé. test.png Ensuite, générez un code QR contenant les informations d'url. Il s'agit du code QR généralement associé aux livres.

qrcode_barcode.py


import pyqrcode

b = pyqrcode.QRCode('https://www.youtube.com/channel/UCDYbu9aViDvkubFcwgbbKDA',error='M')

b.png('test2.png',scale=6)

Lorsque vous faites cela, le code QR suivant sera généré. test2.png

Vous pouvez changer la couleur et la taille de ces codes QR, donc si vous êtes intéressé, veuillez consulter Youtube.

2. Génération de codes à barres

Générez ensuite un code-barres. Il existe de nombreux autres types de codes à barres qui peuvent être utilisés en Python en plus de celui que j'utilise cette fois. Si vous êtes intéressé, veuillez le vérifier.

qrcode_barcode.py


import barcode
from barcode.writer import ImageWriter

d = '938469387183' 

a = barcode.get_barcode_class('ean13') 
b = a(d,writer=ImageWriter()) 
c = b.save('barcode') 

Cela générera un code à barres similaire à celui ci-dessous. Le code à barres peut également contenir des lettres. barcode.png

3. Lire le code QR et le code à barres

Ici, le code QR et le code à barres sont lus. Les deux sont lus de la même manière.

qrcode_barcode.py


from pyzbar.pyzbar import decode 
from PIL import Image

d = decode(Image.open('qrcode.png'))
print(d[0].data.decode("utf-8"))
#e = decode(Image.open('barcode.png'))
#print(e[0].data.decode('utf-8'))

4. Lecture avec OpenCV

Ici, lorsqu'un code QR ou un code à barres est détecté à l'aide d'OpenCV, ces informations sont affichées à l'écran.

qrcode_barcode.py


from pyzbar.pyzbar import decode
import cv2

cap = cv2.VideoCapture(0)
font = cv2.FONT_HERSHEY_SIMPLEX
while cap.isOpened():
    ret,frame = cap.read()
    if ret == True:
        d = decode(frame)
        if d:
            frame = cv2.putText(frame,d[0].data.decode('utf-8'),(10,50),font,1,(0,255,255),2,cv2.LINE_AA)
        cv2.imshow('frame',frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()

Lorsque vous faites cela, des informations telles que le code-barres lu par l'appareil photo seront affichées à l'écran. Cependant, cette méthode n'est pas très cool, je vais donc vous présenter une méthode plus cool ensuite.

5. Lecture avec OpenCV (cool)

Lorsqu'il détecte un code à barres, etc., il l'enferme dans un carré rouge et affiche les informations dessus.

qrcode_barcode.py


from pyzbar.pyzbar import decode
import cv2

cap = cv2.VideoCapture(0)
font = cv2.FONT_HERSHEY_SIMPLEX
while cap.isOpened():
    ret,frame = cap.read()
    if ret == True:
        d = decode(frame)
        if d:
            for barcode in d:
                x,y,w,h = barcode.rect
                cv2.rectangle(frame,(x,y),(x+w,y+h),(0,0,255),2)
                barcodeData = barcode.data.decode('utf-8')
                frame = cv2.putText(frame,barcodeData,(x,y-10),font,.5,(0,0,255),2,cv2.LINE_AA)
        cv2.imshow('frame',frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()

Je pouvais lire le code à barres et le code QR que j'avais créés, mais je ne pouvais pas lire celui joint au livre.

finalement

Youtube explique également comment faire cette simple caméra de surveillance, alors jetez un œil si vous l'aimez. Si vous avez des questions, veuillez utiliser la section commentaires de la vidéo ou la section commentaires de cet article. De plus, si vous l'aimez, veuillez vous abonner à la chaîne.

Recommended Posts

Comment générer un code QR et un code à barres en Python et le lire normalement ou en temps réel avec OpenCV
Comment installer OpenCV sur Cloud9 et l'exécuter en Python
Comment créer une caméra de surveillance (caméra de sécurité) avec Opencv et Python
Comment obtenir la différence de date et d'heure en secondes avec Python
Comment arrêter le programme jusqu'à une date et une heure spécifiques en python
Comment lire un fichier CSV avec Python 2/3
Comment générer une séquence en Python et C ++
Comment saisir une chaîne de caractères en Python et la sortir telle quelle ou dans la direction opposée.
Comment lire les fichiers de numéros de série en boucle, les traiter et les représenter graphiquement
Comment convertir / restaurer une chaîne avec [] en python
Comment mesurer le temps de traitement avec Python ou Java
Vous pouvez le faire en 3 minutes! Comment créer un code QR (GIF) fonctionnel!
Générer du code QR en Python
Comment se connecter à AtCoder avec Python et soumettre automatiquement
Comment dessiner de manière interactive un pipeline d'apprentissage automatique avec scikit-learn et l'enregistrer au format HTML
Obtenez de manière récursive la liste Excel dans un dossier spécifique avec python et écrivez-la dans Excel.
[Python / Ruby] Comprendre le code Comment obtenir des données en ligne et les écrire au format CSV
[Python] Qu'est-ce qu'un tuple? Explique comment utiliser sans toucher et comment l'utiliser avec des exemples.
Un moyen simple de visualiser le temps pris en Python et un moyen plus intelligent de l'améliorer
[Python] Générer un code QR en mémoire
Comment transformer une chaîne en tableau ou un tableau en chaîne en Python
Lisez le binaire big endian en Python et convertissez-le en ndarray
Comment écrire en temps réel hors ligne Résolution des problèmes E04 avec Python
Dessinez une illusion d'aquarelle avec détection des contours en Python3 et openCV3
Comment écrire hors ligne en temps réel Résolution des problèmes F01 avec Python
Comment créer un environnement d'exécution Python et Jupyter avec VSCode
Comment calculer "xx time" en un seul coup avec Python Timedelta
Notez l'installation de modules tels que pytorch et opencv avec pip dans Blender python (2.82a ou version ultérieure)
Comment générer un nouveau groupe de journaux dans CloudWatch à l'aide de python dans Lambda
Comment déboguer un programme Python en se connectant à distance à un conteneur Docker dans un environnement WSL2 avec VS Code
Comment écrire hors ligne en temps réel J'ai essayé de résoudre E11 avec python
[AWS lambda] Déployer, y compris diverses bibliothèques avec lambda (générer un zip avec un mot de passe et le télécharger vers s3) @ Python
Comment utiliser BigQuery en Python
Comment obtenir stacktrace en python
Comment mettre OpenCV dans Raspberry Pi et collecter facilement des images des résultats de détection de visage avec Python
Comment mettre un espace demi-largeur avant les lettres et les chiffres en Python.
Comment vérifier la version d'opencv avec python
Comment rendre le nom du conteneur accessible dans Docker en tant que sous-domaine
Lisez le fichier CSV avec Python et convertissez-le en DataFrame tel quel
Comment bien formater une liste de dictionnaires (ou d'instances) en Python
Comment lire des entrées standard ou des fichiers variables en même temps comme la commande coller en Python
Comment utiliser is et == en Python
Comment écrire en temps réel hors ligne J'ai essayé de résoudre E12 avec python
Une commande pour spécifier un fichier avec un nom spécifique dans un répertoire avec find et mv, cp ou gzip (linux)
Générez un SSID et un mot de passe, convertissez-le en code QR et lancez-le dans Slack.
[Python] Comment nommer les données de table et les sortir avec csv (méthode to_csv)
Comment déposer Google Docs dans un dossier dans un fichier .txt avec python
Essayez d'implémenter Yuma avec Brainf * ck 512 lignes (générer et exécuter du code avec Python)
CentOS 7 avec la configuration LVM prend beaucoup de temps à s'arrêter.
Différences dans la façon d'écrire du code source externe entre Ruby et Python
Comment obtenir une liste de fichiers dans le même répertoire avec python
[Python] Comment créer un environnement de serveur Web local avec SimpleHTTPServer et CGIHTTPServer
[REAPER] Comment jouer à Reascript avec Python
Comment effacer un taple dans une liste (Python)
Comment incorporer des variables dans des chaînes python
Comment créer un fichier JSON en Python