简体中文 | English
经历了一年的开发,pyzxing的第一个正式版本终于发布了。十分感谢各位开发者的建议和issue,这非常大程度上帮助了这个项目的开发。这个项目会继续保持开源并定时更新。
Pyzxing是二维码识别ZXing JAVA库的Python API。由于Zxing库相较于其他库二维码识别率最高,但使用起来十分繁琐,且python-zxing不能正常使用且已不再维护,所以我创建了这个库让使用Python的人可以花费最小的精力来使用Zxing库来进行二维码识别。
- 十分容易上手
- 结构化输出
- 能够识别一张图中的多个二维码
- 以并行方式识别多张图片,提速77%
推荐从Github 源安装:
git clone https://github.com/ChenjieXu/pyzxing.git
cd pyzxing
python setup.py install
同时也支持使用pip从 PyPI 安装:
pip install pyzxing
从Anaconda 安装。现在可以从公开的channel——conda-forge中下载:
conda install pyzxing # conda-forge channel
conda install -c chenjiexu pyzxing # 私人的channel
随版本提供了一个开箱即用的jar文件,但我不能保证此文件将在您的电脑上正常工作。可以在构建ZXing之前运行测试脚本。Pyzxing将自动下载编译的Jar文件并调用单元测试。对于尚未安装Java的用户,强烈建议您安装openjdk8。
python -m unittest tests.test_decode
如果单元测试未通过,使用以下代码构建ZXing库:
git submodule init
git submodule update
cd zxing
mvn install -DskipTests
cd javase
mvn -DskipTests package assembly:single
from pyzxing import BarCodeReader
reader = BarCodeReader()
results = reader.decode('/PATH/TO/FILE')
# 支持输入文件模式以检测多个文件
results = reader.decode('/PATH/TO/FILES/*.png')
print(results)
# 支持传入图片的向量
# 需要额外安装opencv,pip install opencv-python
results = reader.decode_array(img)
或者直接从命令行调用:
python scripts/scanner.py -f /PATH/TO/FILE