如何在实时视频捕获中可靠地检测条形码的4个角

2024-05-29 03:47:51 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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)

Tags: 方法answerimportimgnpstackoverflowcv2barcode

热门问题