python - 如何在实时视频捕获中可靠地检测条码的 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)
解决方案
推荐阅读
- javascript - 如何使用公钥加密并使用 Javascript(NodeJS 等)使用 Base64 进行编码
- docker - 没有路由到 docker 容器上托管
- sql - 将变量分配给会话nodejs
- r - 修改 R 中的对象,使其与绘图兼容
- c++ - 一元“*”的错误类型参数无效(有“双”)
- sql - Go SQL 连接器不会给我特殊选择查询的结果
- java - Java Array嵌套for循环,不清除第二个for回到第一个
- java - 打包为 .jar 时,vscode 控制台中的 Java 代码无法正常运行
- java - 对话框 NullPointException
- sas - 在 SAS/WPS 中使用 if then 语句设置宏变量