最近写了一个 Go 的二维码读取库,叫 qore,已经开源: https://github.com/firesh/qcore
它解决的问题很简单:识别二维码又快又准!
特点
--batch-stdin --json 批量处理用法
res, err := qore.Decode(img, nil) // 识别单个码
all, err := qore.DecodeAll(img, nil) // 识别多个码
r, err := qore.DecodeFile("a.jpg", nil) // 读文件,自动处理 EXIF 方向
Benchmark
测试环境是 Apple M3 Max,计时不含读文件和图片解压:
| 引擎 | 合成集(780 张) | ms/张 | BoofCV 定位召回(1232 个码) | ms/张 |
|---|---|---|---|---|
| qore | 96.67% | 7.95 | 91.2% | 19.18 |
| zxing-cpp | 93.85% | 19.61 | 79.9% | 44.17 |
| wechat-qr | 87.44% | 16.93 | 41.6% | 88.84 |
| opencv-qr | 52.18% | 64.38 | 59.9% | 171.91 |
多码场景下,qore 和 zxing-cpp 都是 100%,wechat-qr 是 55%。完整的分场景结果和失败样本在这里: https://firesh.github.io/qcore/benchmark/ ,复测脚本也在仓库里。
库本身是 MIT 协议,欢迎试用、提 issue,尤其欢迎扔一些识别不出来的图过来 🙏
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.