我试图在Python3上使用OpenCV创建一个带有QR码的图像并读回该代码。
这是一些相关的代码:
def make_qr_code(self,data): qr = qrcode.QRCode( 版本= 2, …
OP在这里;通过仔细查看生成的QR码并将其与其他来源进行比较来解决问题。
问题不在于检测,而在于QR码的生成。 显然是阵列 qrcode.QRCode 回报了 False (或者也许是 0 并且我认为它是网格方格中的布尔值 是 部分代码,和 True (或非零)在正方形中 不 。
qrcode.QRCode
False
0
True
所以,当我这样做 img[:index.shape[0], :index.shape[1]][index] = [0, 0, 255] 我实际上正在创建QR码的负像。
img[:index.shape[0], :index.shape[1]][index] = [0, 0, 255]
当我颠倒了 index 将QR码从左边的图像改为右边的图像,检测成功。
index
此外,我决定切换到ZBar库,因为它在不太完美的情况下(例如从网络摄像头图像)检测这些代码要好得多。