文档章节

python解析二维码

听风的小猪
 听风的小猪
发布于 2016/11/21 15:52
字数 288
阅读 963
收藏 30
点赞 2
评论 0

由于需要对二维码图片进行解析,操作环境是centos7.2,python版本是2.7.5,由于zbar只支持到Python2.6,所以准备采用源码编译安装的方式。具体步骤如下:

1、安装依赖包

yum install pdftk ImageMagick ImageMagick-devel ghostscript Python-imaging python-devel

2、在 http://zbar.sourceforge.NET/download.html 下载源码包 

3、解压方式为:

tar   -jxvf    zbar-0.10.tar.bz2

4、进行编译

./configure --without-gtk --without-qt --disable-video --prefix=/usr/local

5、安装

make && make install

6、下载zbar源码,并安装,下载地址https://pypi.python.org/pypi/zbar/0.10

7、对tar包进行解压

tar -zxvf zbar-0.10.tar.gz

8、安装

python setup.py  install

10、确定zbar包是否安装成功,如果没有报错,即安装成功

11、测试zbar解析二维码图片

# -*- coding:utf-8 -*-
import zbar
from PIL import Image

# 创建图片扫描对象
scanner = zbar.ImageScanner()
# 设置对象属性
scanner.parse_config('enable')

# 打开含有二维码的图片
img = Image.open('<你的图片路径>').convert('L')
#获取图片的尺寸
width, height = img.size

#建立zbar图片对象并扫描转换为字节信息
qrCode = zbar.Image(width, height, 'Y800', img.tobytes())
scanner.scan(qrCode)

data = ''
for s in qrCode:
    data += s.data

# 删除图片对象
del img

# 输出解码结果
print data

 

© 著作权归作者所有

共有 人打赏支持
听风的小猪

听风的小猪

粉丝 58
博文 38
码字总数 34058
作品 0
黄浦
程序员
python使用Zbar实现二维码/条形码检测识别流程

1、Zbar库安装: windows 10 上安装zbar(python) OpenCV+ZBar实现条码识别(Windows32位和64位) Win10x64+Zbar0.10+VS2015+Opencv3.0.0 https://sourceforge.net/projects/zbar/files/lates......

yongwan5637
05/31
0
0
一行python命令, 生成网站二维码

将网址生成二维码是一个古老而常用的需求, 这里我们用python的库, 一键生成二维码图片 第一步: 安装 第二步: 生成网址二维码 命令行图形 生成的图片 qrcode是完全开源的小工具, 开源地址 ht...

木子昭
06/16
0
0
在技术圈儿混,怎能不关注这几个公众号!

精品公众号订阅,总有几个适合你 AIOps智能运维 ID:AI_Ops ▲长按图片识别二维码关注 百度云智能运维团队官方公众号!我们利用大规模分布式、大数据和机器学习等技术为百度云用户和百度各产...

g2v13ah
03/30
0
0
荐号 | 与其焦虑成疾,不如静心学习

我一直在学习、做事,做了一件,又做了一件,为什么和鲁迅先生门前的两棵枣树一样,总是没啥用呢?(From MacTalk) 当处于这种焦虑状态时,你再怎么做事是无法得到你预期的效用的,只会更加...

mbx8x9u
04/16
0
0
关注这些技术号,你将拥有半个互联网圈

“ IT 行业技术变更周期越来越快,作为技术人最重要的是持续学习,现在的学习途径有很多,我们到底该如何做出选择? 我觉得最重要有两方面:第一,需要保持良好的技术视野,持续关注行业内技...

g6u8w7p06dco99fq3
04/18
0
0
Python开发(基础):初识Python

Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quo...

wbb827
07/03
0
0
笨办法学 Python · 续 练习 35:解释器

练习 35:解释器 原文:Exercise 35: Interpreters 译者:飞龙 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 解析中的最后一个练习应该既具有挑战性又有趣。你终于可以看到,你的微型 Python 脚...

apachecn_飞龙
2017/08/13
0
0
给你这些,让你拥有半个互联网技术圈!

IT行业技术变更周期越来越快,作为技术人最重要的是持续学习,现在的学习途径有很多,我们到底该如何做出选择?我觉得最重要有两方面:第一,需要保持良好的技术视野,持续关注行业内技术新动...

bntx2jsqfehy7
04/13
0
0
如何把一个JavaScript二维码应用部署到Google App Engine上

文章介绍如何使用一个开源的JS二维码插件去快速实现一个网页版的二维码应用,以及如何把这个应用部署到Google App Engine上。 参考原文: How to Deploy JavaScript QR Code Generator to Go...

yushulx
2014/04/23
0
0
一个月入门Python爬虫,快速获取大规模数据

数据是创造和决策的原材料,高质量的数据都价值不菲。而利用爬虫,我们可以获取大量的价值数据,经分析可以发挥巨大的价值,比如: 豆瓣、知乎:爬取优质答案,筛选出各话题下热门内容,探索...

Python开发者
04/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Mybatis拦截器之数据权限过滤与分页集成

需求场景 最近项目有个数据权限的业务需求,要求大致为每个单位只能查看本级单位及下属单位的数据,例如:一个集团军下属十二个旅,那么军级用户可以看到所有数据,而每个旅则只能看到本旅部...

佛系程序猿灬
4分钟前
0
0
Vue作为MVVM框架,M、V、VM分别代表什么?

<script src="vue.js"></script><div id="demo"> {{message}} <input v-model="message"></div><script> var vm = new Vue({ el: '#demo', data: { mes......

JamesView
7分钟前
0
0
SpringCloud 微服务 (十六) 服务追踪 Zipkin

问题 在服务中,有一个接口,该A接口中又调用了其他服务的B、C、D接口,出现一个请求耗时大的问题,这时候并不知道该B、C、D接口中哪个接口造成的耗时量,然后比如确定C服务接口出现的耗时量大,但...

___大侠
49分钟前
0
0
Java面试基础篇——第八篇:抽象类与接口的区别

1.抽象类 抽象类:如果一个类中包含有抽象方法,或这个类使用abstract关键字修饰,则称这个类是抽象类。 抽象方法是什么呢?抽象方法就是指用abstract关键字修饰的方法。 需要注意的是:抽象...

developlee的潇洒人生
今天
2
0
jsoup 相关资料

1.jsoup 2.Jsoup概述 3.jsoup入门 4.jsoup Java HTML Parser 1.11.3 API

IT追寻者
今天
0
0
JPA @MappedSuperclass 注解说明

基于代码复用和模型分离的思想,在项目开发中使用JPA的@MappedSuperclass注解将实体类的多个属性分别封装到不同的非实体类中。 1.@MappedSuperclass注解只能标准在类上:@Target({java.lang....

海博1600
今天
0
0
【一】Scala Configuration 相关API

Play使用了 Typesafe config library,但是也提供了一个有着更多Scala高级特性的的 Configuration 封装。不熟悉Typesafe配置的开发者可以移步 configuration文件的语法和特性文档。 读取配置...

Landas
今天
3
0
使用cookie技术 记住账号

1. 效果 2. 实现过程 2.1 前端 将用户的选中传递给后台 这个参数的获取是 参考:https://my.oschina.net/springMVCAndspring/blog/1860498 // var rememberLogin = $("#rememberLoginId").i...

Lucky_Me
今天
1
0
《趣谈网络协议》02之网络分层的真实含义

一、提出问题 1.提出问题 当你听到什么二层设备、三层设备、四层 LB 和七层 LB 中层的时候,是否有点一头雾水,不知道这些所谓的层,对应的各种协议具体要做什么“工作”? 2.这四个问题你弄...

aibinxiao
今天
2
0
Python3学习日志二 Python中的集合set和字典dict

1.集合set 定义一个集合set 我们可以看到定义集合set有两种不同的形式,如果要定义一个空的集合set不能用{}而是要用set();另外,集合是无序的,而且set中的元素是不可重复的,如果你定义了一...

Mr_bullshit
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部