Evan Rust
Published © GPL3+

Scan QR Codes in Real-Time with Raspberry Pi

Use a webcam and a Raspberry Pi 4 to extract information from QR codes and even make your own with Python

BeginnerFull instructions provided2 hours57,769

Things used in this project

Hardware components

Raspberry Pi 4 Model B
Raspberry Pi 4 Model B
Camera Module V2
Raspberry Pi Camera Module V2

Software apps and online services

VS Code
Microsoft VS Code
Python 3.6


Read more


Raspberry Pi 4 + Camera


Python Code

import cv2

# set up camera object
cap = cv2.VideoCapture(0)

# QR code detection object
detector = cv2.QRCodeDetector()

while True:
    # get the image
    _, img = cap.read()
    # get bounding box coords and data
    data, bbox, _ = detector.detectAndDecode(img)
    # if there is a bounding box, draw one, along with the data
    if(bbox is not None):
        for i in range(len(bbox)):
            cv2.line(img, tuple(bbox[i][0]), tuple(bbox[(i+1) % len(bbox)][0]), color=(255,
                     0, 255), thickness=2)
        cv2.putText(img, data, (int(bbox[0][0][0]), int(bbox[0][0][1]) - 10), cv2.FONT_HERSHEY_SIMPLEX,
                    0.5, (0, 255, 0), 2)
        if data:
            print("data found: ", data)
    # display the image preview
    cv2.imshow("code detector", img)
    if(cv2.waitKey(1) == ord("q")):
# free camera object and exit


Evan Rust

Evan Rust

118 projects • 1041 followers
IoT, web, and embedded systems enthusiast. Contact me for product reviews or custom project requests.