import cv2 import time stream = cv2.VideoCapture('v4l2src ! video/x-bayer, format=bggr, width=640, height=480 ! bayer2rgb ! videoconvert ! appsink') qr_detector = cv2.QRCodeDetector() def read_qr(): try: while stream.isOpened(): _, frame = stream.read() frame = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY) if frame is None: print('unable to read from stream') break retval, points, straight_qrcode = qr_detector.detectAndDecode(frame) if retval: print('retval', retval) return retval else: print('.', end=' ', flush=True) except Exception as ex: print(ex) return None while True: read_qr() stream.release()