首页 > 解决方案 > 如何在实时视频捕获中可靠地检测条码的 4 个角

问题描述

我找到了用于检测图像中的条形码的Stackoverflow 答案。我正在尝试将Stackoverflow 答案中的方法应用于实时视频捕获,因为我当前的解决方案仅检测干净大表面上的条形码。如何将该方法应用于视频捕获这是我的代码。

import cv2
import numpy as np
from pyzbar.pyzbar import decode

cap = cv2.VideoCapture(0)
cap.set(3,640)
cap.set(4,480)


while True:

    success, img = cap.read()
    for barcode in decode(img):
        myData = barcode.data.decode('utf-8')
        print(myData)

        if myData in myDataList:
            myOutput = 'Authorized'
            myColor = (0,255,0)
        else:
            myOutput = 'Un-Authorized'
            myColor = (0, 0, 255)

        pts = np.array([barcode.polygon],np.int32)
        pts = pts.reshape((-1,1,2))
        cv2.polylines(img,[pts],True,myColor,5)
        pts2 = barcode.rect
        cv2.putText(img,myData,(pts2[0],pts2[1]),cv2.FONT_HERSHEY_SIMPLEX,
                    0.9,myColor,2)

    cv2.imshow('Result',img)
    cv2.waitKey(1)

标签: pythonopencvbarcode-scannerzbar

解决方案


推荐阅读