如何批量识别图片中的二维码内容

2018-10-18 17:07:41 +08:00
 ft3312591

有个需求,一堆图片,右下角带一个二维码信息,内容只是一串数字编号。现在想批量把这些图片的二维码信息识别出来,导出 文件名:二维码编号。python 看了下只有生成二维码的库,识别的库很少,而且也不好用,有没有什么好的方法?

5040 次点击
所在节点    程序员
11 条回复
blueorange
2018-10-18 17:12:05 +08:00
python 有 zxing 库 加 os 库 os.walk 应该很好处理
ho121
2018-10-18 17:20:37 +08:00
subprocess.getoutput("zbarimg --raw " + filepath)
qiayue
2018-10-18 17:23:35 +08:00
iwtbauh
2018-10-18 17:24:55 +08:00
一行 shell 脚本胜过万行系列

zbarimg -q --raw /path/to/qr/* | xargs -i 你的回调程序 {}
iwtbauh
2018-10-18 17:26:19 +08:00
@iwtbauh

如果担心图片其他地方有 qrcode 影响的话就再加上 ImageMagick 裁切一下
zxq2233
2018-10-18 17:26:37 +08:00
首先对图片进行批量裁剪。保留有二维码的一块。保存为有规律可循的文件名
然后对裁剪好的图片进行批量识别。

如果要用 python 的话可以使用第三方的 api。百度微软谷歌都有二维码识别的免费 api。

windows 下推荐使用 sobolsoft。(谷歌可以找到破解版)
zxq2233
2018-10-18 17:30:11 +08:00
这里提供 sobolsoft crack 版本
magnet:?xt=urn:btih:22dec55a726463fac4f55a8fad6eebc733382319&dn=Sobolsoft.MS.Powerpoint.Word.Count.And.Frequency.Statistics.v7.0.Incl.Keygen
iwtbauh
2018-10-18 17:31:46 +08:00
@ho121 #2

还真有敢这么写的人,Shell Injection 漏洞了解一下
ho121
2018-10-18 17:35:31 +08:00
@iwtbauh 都是自己本机的图片,会有神呢问题?
iwtbauh
2018-10-18 17:43:34 +08:00
@ho121 #9

lz 可没说都是本机的图片,图片可能是用户上传的,图片的文件名称如果是 "xxx;some_evil_command xxx.png",那么服务器可能已经沦陷了。

这个时候应该 python 应该用像的 os.exec...() 这样的函数而绝对不应该是 subprocess.getoutput 这种会受到注入攻击的函数。

除非你对系统安全性毫不关心
MonoLogueChi
2018-10-18 18:09:56 +08:00
zxing 库应该可以的,我只会 cs,zxing.net 应该是可以的。前面也有人提到了 py 的 zxing 库,所以 py 应该也是可以的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/498854

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX