OpenCV:有没有办法用二进制而不是字符串来解码二进制二进制代码?

OpenCV: Is there a way to decode qrcode in binary rather than string?

提问人:denizsincar29 提问时间:9/21/2023 最后编辑:Christoph Rackwitzdenizsincar29 更新时间:9/22/2023 访问量:57

问:

我是一个实验者。我尝试使用“qrcode”库将一些二进制文件编码为 qrcode,然后使用 cv2 对其进行解码。 但是 cv2 解码的是字符串而不是字节中的二0x00码,所以一旦它看到一个字节,它就会认为它是空终止。因此,编码后的 b'meta\x00\x00\xf3\x43myfile.txt' 突然变成了字符串中的“meta”。 编码过程只是使用 qrcode.make 函数,使用 bytes 类型参数而不是字符串。解码过程如下:

from time import sleep, time
import cv2
# import chunker

cap = cv2.VideoCapture("chun/video.mp4")  # just for debugging. after success we'll make webcam.
detector = cv2.QRCodeDetector()
c=0
a=b''
while c!=32:
    _, img = cap.read()
    data, bbox, _ = detector.detectAndDecode(img)
    if a!=data:
        print(data)
        a=data
    #cv2.imshow("QR file receiver", img)
    #c=cv2.waitKey(1)
    # if c>-1: print(c)

cap.release()
cv2.destroyAllWindows()

你能给我一个 qr.detectAndDecode 函数的替代方案,或者一个让它解码二进制的触发器吗? 谢谢。

python 字符串 opencv utf-8 二维码

评论

2赞 Christoph Rackwitz 9/22/2023
API 返回 (C++),但文档显示“UTF-8 编码”,这让我很担心。它应该被翻译成 python .如果 opencv 返回 python 而不是 ,请在 GitHub 上提交问题。在执行此操作之前,请检查现有问题。也许已经有人报告了。也许它已经修好了。您没有说明已安装的版本。std::stringbytesstrbytesopencv-python
0赞 denizsincar29 9/23/2023
是的,但我使用的是 cv2 的最后一个版本。我会检查问题,但我认为有数百万个问题!

答: 暂无答案