zxing-cpp简介
zxing是识别生成二维码的工具库,是一个java库。java的JRE开销其实不小,为了加快效率,zxing-cpp是不错的选择。
zxing-cpp,又有多个变种。这里选择zxing官方库推荐的“recent cpp port”库:
准备工作
工作目录创建
12345678mkdir /srv/zxing-env -pcd /srv/zxing-envpython3 -m venv venv. venv/bin/activate # 之后所有的安装都在这个python虚拟环境中# 安装几个python的依赖# numpy (1.19.5)# Pillow (8.1.0)pip install numpy pillow安装必要依赖
ubuntu 18.04的cmake版本过于低,不能通过apt安装。(zxing-cpp最低要求3.14,18.04自带3.10)
1234# --- 20.04 -----sudo apt install cmake# --- 18.04 -----sudo apt install libssl-dev获取相关代码
123git clone https://github.com/nu-book/zxing-cpp.git# --- 18.04 -----wget https://github.com/Kitware/CMake/releases/download/v3.19.3/cmake-3.19.3.tar.gz
编译zxing-cpp
18.04 需要先编译一个合适的cmake(20.04不需要这个操作)
123456sudo apt remove --purge --auto-remove cmaketar xvzf cmake-3.19.3.tar.gzcd cmake-3.19.3/./bootstrapmake -j$(nproc)sudo make install测试下:(需要重启下终端)
1cmake --version应该是
3.19.3
.build目录
123cd /srv/zxing-env/zxing-cppmkdir buildcd build编译生成
1234#需要更改CMakeLists.txt#打开python支持-- option (BUILD_PYTHON_MODULE "Build the python module" OFF)++ option (BUILD_PYTHON_MODULE "Build the python module" ON)
|
|
安装python wrapper
|
|
测试下,看看效果:
|
|
测试
|
|
搞定。配合下Django
之类的,你也可以实现个在线二维码识别服务了。
2021-01-26更新:
貌似目前不支持识别Multi-Barcode。不过还好,够我用了。