笔记:linux-c Zxing-cpp解析图片中的二维码

引用:
二维码解析(编译zxing-cpp)
二维码解析使用的类库是zxing(官网 https://github.com/zxing/zxing)。
这个类库是谷歌的,原来有c++版本,后来的更新去掉了,zxing介绍了目前基于zxing的其他类库。
glassechidna/zxing-cpp(https://github.com/glassechidna/zxing-cpp)已经好久不更新了,官网介绍也是使用的比较老的版本
nu-book/zxing-cpp(https://github.com/nu-book/zxing-cpp)这个是最新的
ZBar/ZBar(https://github.com/ZBar/ZBar)是c语言版本,也好久没更新了。

本章我们使用:https://github.com/15903016222/zxing-cpp.git

1、克隆原代码

eric@eric-PC:~/Documents/work/linux-c$ git clone https://github.com/15903016222/zxing-cpp.git
正克隆到 'zxing-cpp'...
remote: Enumerating objects: 622, done.
remote: Total 622 (delta 0), reused 0 (delta 0), pack-reused 622
接收对象中: 100% (622/622), 471.69 KiB | 62.00 KiB/s, 完成.
处理 delta 中: 100% (318/318), 完成.
eric@eric-PC:~/Documents/work/linux-c$ cmake -v
CMake Error: The source directory "/home/eric/Documents/work/linux-c/-v" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
eric@eric-PC:~/Documents/work/linux-c$ cmake --version
cmake version 3.11.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).
eric@eric-PC:~/Documents/work/linux-c$ cd zxing-cpp/
eric@eric-PC:~/Documents/work/linux-c/zxing-cpp$ ls
AUTHORS  cli  cmake  CMakeLists.txt  COPYING  core  NOTICE  opencv  opencv-cli  README.md  source_files.cmake

2、创建编译目录

eric@eric-PC:~/Documents/work/linux-c/zxing-cpp$ mkdir build
eric@eric-PC:~/Documents/work/linux-c/zxing-cpp$ ls
AUTHORS  build  cli  cmake  CMakeLists.txt  COPYING  core  NOTICE  opencv  opencv-cli  README.md  source_files.cmake

3、配置

eric@eric-PC:~/Documents/work/linux-c/zxing-cpp$ cd build/
eric@eric-PC:~/Documents/work/linux-c/zxing-cpp/build$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -G "Unix Makefiles" ..
-- The C compiler identification is GNU 5.5.0
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning at CMakeLists.txt:46 (find_package):
  By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "OpenCV", but
  CMake did not find one.

  Could not find a package configuration file provided by "OpenCV" with any
  of the following names:

    OpenCVConfig.cmake
    opencv-config.cmake

  Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set
  "OpenCV_DIR" to a directory containing one of the above files.  If "OpenCV"
  provides a separate development package or SDK, be sure it has been
  installed.


-- Looking for iconv
-- Looking for iconv - found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/eric/Documents/work/linux-c/zxing-cpp/build
eric@eric-PC:~/Documents/work/linux-c/zxing-cpp/build$ ls
CMakeCache.txt  CMakeFiles  cmake_install.cmake  Makefile  zxing-config.cmake

4、编译

eric@eric-PC:~/Documents/work/linux-c/zxing-cpp/build$ make
Scanning dependencies of target libzxing
[  0%] Building CXX object CMakeFiles/libzxing.dir/core/src/bigint/BigInteger.cc.o
[  1%] Building CXX object CMakeFiles/libzxing.dir/core/src/bigint/BigIntegerAlgorithms.cc.o
[  2%] Building CXX object CMakeFiles/libzxing.dir/core/src/bigint/BigIntegerUtils.cc.o
[  3%] Building CXX object CMakeFiles/libzxing.dir/core/src/bigint/BigUnsigned.cc.o
...
[ 93%] Building CXX object CMakeFiles/libzxing.dir/core/src/zxing/ResultPoint.cpp.o
[ 94%] Building CXX object CMakeFiles/libzxing.dir/core/src/zxing/ResultPointCallback.cpp.o
[ 95%] Linking CXX static library libzxing.a
[ 95%] Built target libzxing
Scanning dependencies of target zxing
[ 96%] Building CXX object CMakeFiles/zxing.dir/cli/src/ImageReaderSource.cpp.o
[ 97%] Building CXX object CMakeFiles/zxing.dir/cli/src/jpgd.cpp.o
[ 98%] Building CXX object CMakeFiles/zxing.dir/cli/src/lodepng.cpp.o
[ 99%] Building CXX object CMakeFiles/zxing.dir/cli/src/main.cpp.o
[100%] Linking CXX executable zxing
[100%] Built target zxing
eric@eric-PC:~/Documents/work/linux-c/zxing-cpp/build$eric@eric-PC:~/Documents/work/linux-c/zxing-cpp/build$ ls
CMakeCache.txt  CMakeFiles  cmake_install.cmake  libzxing.a  Makefile  zxing  zxing-config.cmake

此时已经生成了zxing程序
5、测试解码
草料二维码生成一个二维码图片QRcode.png(内容:www.baidu.com),放到build目录下

eric@eric-PC:~/Documents/work/linux-c/zxing-cpp/build$ ls
CMakeCache.txt  CMakeFiles  cmake_install.cmake  install_manifest.txt  libzxing.a  Makefile  QRcode.png  zxing  zxing-config.cmake

测试:

eric@eric-PC:~/Documents/work/linux-c/zxing-cpp/build$ ./zxing QRcode.png
www.baidu.com

解析完成!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值