-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于识别码功能的部分建议 #47
Comments
感谢建议,这个库看起来确实不错。 简单试了一下,它的Release版本依赖 numpy 。有人提交了pr,去除numpy依赖,不过需要自己编译。等有空了再看看 Mask一下
|
我十分喜爱作者的软件,这个功能其实对我来说可有可无我已经build了zixng-cpp的exe了,但是感觉这个库效果较好的,所以推荐一下!如果实现不复杂,期待作者您的更新! |
我试着build了一下,没有成功,应该是我当前系统的gcc环境有点问题。 如果你有兴趣的话能否帮我build一下,目标版本 Python 3.8.10 Windows x64 。 https://github.com/zxing-cpp/zxing-cpp/blob/master/wrappers/python/README.md 即用 |
我也没有build出来pyd文件,下面这个文件是我pip wheel zxing-cpp 得到的,所以还是依赖numpy,估计对您帮助估计不大 zxing_cpp-2.1.0-cp38-cp38-win_amd64.zip 我build的命令是在zxing-cpp目录中 如果我在 |
搞好了,你去测试看看,现在已经不依赖numpy了! |
基本写完了,感兴趣的话 帮我测试下吧。 项目开发部署见 这里 ,很容易的。 二维码解析相关的代码在: QRcode.py#L41 同一文件的第74行有个 TODO ,因为我不熟悉非文本的二维码格式,所以是简单的转为base64。如果你有更好的做法欢迎PR |
2.其他码类型也能正常解析(代码我修复了,已经给您提交了pr): pr链接:#50 |
常用的包含非ASCII文本的QR码实际上都是Binary/Bytes模式,读取raw data后用UTF-8解码,很难想象一个能正常对应大部分日常QR码的解码器会不支持Binary mode,我想 @Byxs20 表达的意思是不是解码器无法直接输出raw data?这个对日常应用并没有太大必要,和正常的解码逻辑一起给出反而容易造成误解(比如会把正常的中文内容当成raw data解码出UTF-8编码的原始数据),建议可以作为非默认的选项供有需求的用户选择使用。 |
这个请放心,不会的。当前版本中,并不是以
故只要属性为 |
问题:
dev 20231105 目前新版本就无法去识别binary的二维码,其实对于一般用户来说并不重要,但是还是希望软件能够更加强壮一些!
建议:
你好,给你提一个小小的建议就是关于二维码的方面,看你使用的库是pyzbar,这边有一个更好的替代库。
仓库地址:https://github.com/zxing-cpp/zxing-cpp
Python调用demo:https://github.com/zxing-cpp/zxing-cpp/blob/master/wrappers/python/README.md
在线测试网站:https://zxing-cpp.github.io/zxing-cpp/demo_reader.html
列举一些优点:
1.可以成功读取binary的二维码(对于您的软件目前的问题:可能你要想一下如何处理Binary类型的二维码,zxing-cpp是可以识别二维码的类型,所以您能够拥有判断依据,如果是binary类型有不可见字符时候可以输出16进制之类的)
2.可以成功读取无边框的二维码
3.比pyzbar能够更好的读取(有些时候二维码不放大一下,pyzbar就读取不到)
4.支持的码类型也不少,您可以查阅一下。
当然这个只是我个人的使用感觉,有时间您可以试试看,希望能够让该软件效果越来越好,望采纳!
The text was updated successfully, but these errors were encountered: