我希望将YOLOv8的结果传递给解码函数,以便从中读取条形码。
我的程序代码是:
model = YOLO("yolov8n.pt")
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
results = model.predict(source=frame, show=True, conf=0.70, stream=True, device=0)
decode(results.numpy())
if cv2.waitKey(10) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
当我这样做时,我得到以下错误消息:
AttributeError: 'generator' object has no attribute 'numpy'
另外,我想用kraken.binarization.nlbin()预处理帧,这是可能的吗?
1条答案
按热度按时间jrcvhitl1#
如果您阅读了Ultralytics predict的文档,您将看到返回不包含任何图像。
你必须自定义预测器返回原始图像,这样你就可以使用
results
中的bbox来裁剪图像,然后你可以将裁剪结果传递给decode
:这给了我下面的输出(我的手机屏幕上有一个QR码),我匿名的原因很明显: