我用过" segno"用python创建Micro QR码:
import segno
segno.make_micro("1").save("1.png", scale=10)
有没有人知道用python解码这些(简单)的方法?我找不到一个图书馆,但我担心自己(也许是使用openCV)会有很多努力。
与这篇文章(How to decode a QR-code image in (preferably pure) Python?)相比,我已经成功安装了PyQRCode和ZBar。不幸的是,这些库不会解码 Micro QR码。
答案 0 :(得分:2)
由于使用 Micro QR 代码的 apparently 还没有变得足够广泛(还没有?)值得在我能找到的任何图书馆中添加对阅读它们的支持,我正在寻找一种解决方法。在我的搜索中,我遇到了一两个支持解码微二维码的在线二维码阅读器。因为我刚刚在学习 Playwright for Python,所以我想,我应该试一试。
下面的代码使用playwright
打开一个在线二维码解码器网站,点击页面设置正确选项,上传图片文件,然后从页面读取结果。
我知道这是一种完全复杂的方式,没有人会在生产代码中这样做,但它很有趣并且确实工作:)尽管它不符合“简单”的条件OP 要求,恐怕。
from playwright import sync_playwright
import segno
segno.make_micro("1").save("1.png", scale=10)
with sync_playwright() as p:
browser = p.firefox.launch(headless=False)
page = browser.newPage()
page.goto('https://www.datasymbol.com/barcode-reader-sdk/barcode-reader-sdk-for-windows/online-barcode-decoder.html')
page.querySelector('select[name=\"sr\"]').selectOption([{'label': 'Text'}])
page.querySelector('img[alt=\"QRCode Decoder Scanner Settings\"]').click()
page.querySelector('input[name=\"qrmicro\"]').click()
page.querySelector('input[id=\"fupload1\"]').setInputFiles('1.png')
page.querySelector('input[type=\"button\"]').click()
iframe = page.querySelector('iframe[name=\"f2\"]').contentFrame()
result = iframe.querySelector('css=pre').innerHTML().rstrip()
print(result)
browser.close()
印刷品
1
一些注意事项:
headless=False
。**
,因此如果您编码One Two Three
您将检索 **e Two Three
。如果您不自己创建条形码,这是一个限制。如果这样做,只需在内容的开头添加 **
。requests
。我上面选择的网站显然也提供了类似的东西,而且似乎有一个免费的计划。但我从来没有用过,所以我不能说什么。