前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一起学习二维码(二)配置解码环境

一起学习二维码(二)配置解码环境

作者头像
小白学视觉
发布2019-10-24 14:37:59
6960
发布2019-10-24 14:37:59
举报

小白最近需要做一个和二维码相关的项目,因此近期小白会陆陆续续的为大家带来一些和二维码相关的分享。

接下来小白分享一下如何在Windows下生成含有指定信息的二维码以及在Ubuntu系统下解析二维码

由于项目需要,对二维码的解码有可能需要移植在嵌入式的控制板中,为了使后续移植变得方便,我决定在Ubuntu14.04(64位)系统下实现对二维码的解码。

现在对于二维码的解码已经做的很成熟了,网上开源的库也有很多,例如ZXing,zbar等等。但是很多都是应用在手机端(毕竟手机使用二维码的机会多一些),因此主要的接口和网上的教程都是java的。作为一个勉强会使用C++的小白来说,当然要努力去寻找一个C++教程多一些的开源库。因此,通过各种查找,最后决定使用zbar库来实现解码。

首先需要下载和安装zbar库,网上有一些教程,不过大多数的教程都比较坑,安装的过程中也会出现各种问题,经过实践,结合自己实际情况,最终安装成功了。

具体的心酸流程如下:

下载源码

网上的教程大多数第一步都是让安装Imagemagick及其依赖jasper-for jpeg。小白一开始也想安装的,但是安装过程和教程几乎可以说是0,因此小白放弃了(还好最后也没有用到也安装成功了) imagemagick 是一个强大的图像编解码及操作的开源库,因此这里面也是只要图片格式符合要求,是否安装这个用处也不是很大。

接下来是安装pygtk,这步就按照命令直接安装就可以,没有坑,命令是

代码语言:javascript
复制
sudo apt-get install python-gtk2-dev

之后开始正式的安装了,首先要下载zbar的源码,http://zbar.sourceforge.net/download.html,其中小白选用的是Source Code版本里面的第一个ZBar-0.10。之后对其进行解压缩,使用的命令是:

代码语言:javascript
复制
tar jxvf zbar-0.10.tar.bz2

安 装

解压缩后进入文件夹中,执行:./configure --prefix="your path",其中小白将路径选择缺省,即:

代码语言:javascript
复制
./configure –prefix=""

此时是默认安装在/usr/local/bin目录下,不过事情并没有这么顺利,这样做会出现一个报错,内容如下:

不过这问题也不是很坑,只要采用一个软连接就可以解决了:

代码语言:javascript
复制
ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h

这之后再执行上面的./configure –prefix=""命令就配置成功了,如下图:

之后要进行编译,这步坑就很多啦。直接运行sudo make,会出现报错,报错内容是:

这里只选取了错误提示的一部分(真实的错误界面有可能会非常的丰富多彩)。这个网上说在configure下增加一行export CFLAGS="",于是小白遍去文件里加了一行export CFLAGS="",哈哈,还是报错。之后呢,小白仔细读了这句话,直接在命令界面运行了这句话,并在文件中添加了CFLAGS="",最后重新运行./configure –prefix=""命令问题解决。

之后再进行make,又出现一堆的报错,报错内容太多,为了方便小伙伴们区分,我只截取了开头和结尾

这个问题呢,小白尝试了多次的make,最后关掉了命令窗口,再次make一下就成功了,成功的提示如下:

代码语言:javascript
复制
make  all-am
make[1]: Entering directory '/home/mingc/Downloads/qrcode/zbar-0.10'
make[1]: Leaving directory '/home/mingc/Downloads/qrcode/zbar-0.10'

之后便是安装,这里面一定要记得加sudo,不然是安装不上的。

代码语言:javascript
复制
sudo make install

安装成功后的提示是:

代码语言:javascript
复制
make  install-am
make[2]: Leaving directory '/home/mingc/Downloads/qrcode/zbar-0.10'
make[1]: Leaving directory '/home/mingc/Downloads/qrcode/zbar-0.10'

这就是安装成功啦

结 果 测 试

采用系统自带的测试历程测试是否成功安装

代码语言:javascript
复制
zbarimg 小白.png

读取的二维码是之前自己用程序生成的

从Ubuntu导到windows下图片就变黑了,有可能是晒了个太阳吧,但是并不妨碍小伙伴们验证。

输出的结果为:

自此我们已经完成了zbar库的安装,后续会继续更新如何使用这个二维码解码库。

小白在安装的时候主要参考以下博客: https://blog.csdn.net/felix86/article/details/41443741 https://www.cnblogs.com/mingc/p/7945733.html

相关阅读:

一起学习二维码(一)生成自己的二维码

使用Matlab图像处理(五)——边缘提取

使用Matlab图像处理(四)——常用滤波的实现

使用Matlab图像处理(三)——图像滤波原理

使用Matlab图像处理(二)

使用Matlab图像处理(一)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小白学视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档