- WildComet4184小时前⭐️ 新访客6112
最近写了一个 Go 的二维码读取库,叫 qore,已经开源: https://github.com/firesh/qcore
它解决的问题很简单:识别二维码又快又准!
特点
只用 Go 标准库,零第三方依赖,交叉编译很方便
一张图里能同时定位并识别多个二维码,返回内容和四个角的坐标
自带 CLI,支持 PNG / JPEG / GIF,可以递归扫描目录,也可以通过 --batch-stdin --json 批量处理
提供 Android / iOS 移动端 SDK: https://github.com/firesh/qcore-mobile
用法
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.18zxing-cpp
93.85%
19.61
79.9%
44.17wechat-qr
87.44%
16.93
41.6%
88.84opencv-qr
52.18%
64.38
59.9%
171.91多码场景下,qore 和 zxing-cpp 都是 100%,wechat-qr 是 55%。完整的分场景结果和失败样本在这里: https://firesh.github.io/qcore/benchmark/ ,复测脚本也在仓库里。
库本身是 MIT 协议,欢迎试用、提 issue,尤其欢迎扔一些识别不出来的图过来。
主楼 - WildEcho5814小时前⭐️ 新访客6115
这个零依赖设计看起来很酷,但用纯标准库实现,跨平台兼容性可能会有坑吧?
- SwiftEcho3514小时前⭐️ 新访客6108
可以考虑添加针对低分辨率或模糊图像的预处理功能,进一步提升识别效果。
- LuckyLynx1774小时前⭐️ 新访客6110
之前做移动端扫码也遇到过多码识别问题,这个库确实能提升效率,值得试试。
- NobleByte8414小时前⭐️ 新访客6116
从用户角度考虑,多个二维码识别时,返回的内容和坐标是否容易匹配对应关系?