10行代码识别二维码

简介:

二维码现在已深入到我们生活的方方面面了,手机支付、微信加好友、app下载、电子票务等方方面面都有它的身影。最近坐地铁又推出了扫二维码进出站。

最近一段时间,上海的很多地铁检票机器都装上了像下面这样的二维码扫描器

1f241568ad1c1879a39ef825623e98133d57db71

只需打开手机app上的二维码,对准扫描窗口扫一扫,就可以进站,到站后再扫一扫,就可以出站并自动扣款。

今天我们就来用Python实现一个简单的识别二维码的程序。

准备工作

识别二维码需要用到zbar,首先安装libzbar0,以Ubuntu为例

 

sudo apt-get install libzbar0

接着安装pyzbar和opencv

 

pip install pyzbar
pip install opencv-python

代码实现

接下来是我们的代码实现部分了,可以看到代码非常简单。

 

# -*- coding: utf-8 -*-# filename: read_qrcode.py import sys from pyzbar.pyzbar
import decode import cv2
if len(sys.argv) < 2 :
print "Usage: %s <image file>" % sys.argv[ 0 ]
sys.exit( 1 )
filepath = sys.argv[ 1 ]
image=cv2.imread(filepath) # 读入图片
result = decode(image) # 解码二维码 for item in result:
print item.type, item.data # 打印解码的数据

原文发布时间为:2018-11-7
本文作者:强哥
本文来自云栖社区合作伙伴“ Python爱好者社区”,了解相关信息可以关注“ Python爱好者社区”。
相关文章
|
前端开发 JavaScript C++
打造卓越 QML 层级设计:从入门到精通(一)
打造卓越 QML 层级设计:从入门到精通
4162 1
|
搜索推荐 应用服务中间件 nginx
Nginx系列教程(05) - 虚拟主机配置
Nginx系列教程(05) - 虚拟主机配置
1166 0
|
存储 缓存 负载均衡
NGINX 性能调优的五大技巧
【8月更文挑战第27天】
516 5
Nest.js 实战 (十二):优雅地使用事件发布/订阅模块 Event Emitter
这篇文章介绍了在Nest.js构建应用时,如何通过事件/发布-订阅模式使应用程序更健壮、灵活、易于扩展,并简化服务间通信。文章主要围绕@nestjs/event-emitter模块展开,这是一个基于eventemitter2库的社区模块,提供了事件发布/订阅功能,使得实现事件驱动架构变得简单。文章还介绍了如何使用该模块,包括安装依赖、初始化模块、注册EventEmitterModule、使用装饰器简化监听等。最后总结,集成@nestjs/event-emitter模块可以提升应用程序的事件驱动能力,构建出更为松耦合、易扩展且高度灵活的系统架构,是构建现代、响应迅速且具有高度解耦特性的Nest.
332 0
Nest.js 实战 (十二):优雅地使用事件发布/订阅模块 Event Emitter
|
Java 关系型数据库 MySQL
如何安装系统必备开发环境:JDK 1.8+、MySQL 5.7+ 与 Maven 3.0+
【7月更文挑战第1天】搭建Java开发环境:安装JDK 1.8+,MySQL 5.7+,Maven 3.0+。访问官方源下载对应软件,配置Windows或Linux/macOS的环境变量,包括`JAVA_HOME`, `PATH`, `MYSQL_ROOT_PASSWORD`及`MAVEN_HOME`。测试安装成功分别用`java/javac -version`, `mysql -u root -p`和`mvn -v`检查版本。完成后,即可开始Java项目开发。
1268 0
|
消息中间件 SQL Java
实时计算 Flink版产品使用合集之管理内存webui上一直是百分百是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
Linux 虚拟化
图解CentOS安装步骤(超详细教程)
图解CentOS安装步骤(超详细教程)
1137 0
|
SQL 小程序 Java
情侣恋爱日记本
情侣恋爱日记本
|
消息中间件 监控 安全
解密RabbitMQ:你所不知道的端口及其重要性
解密RabbitMQ:你所不知道的端口及其重要性
2862 0

热门文章

最新文章