二维码现在已深入到我们生活的方方面面了,手机支付、微信加好友、app下载、电子票务等方方面面都有它的身影。最近坐地铁又推出了扫二维码进出站。
最近一段时间,上海的很多地铁检票机器都装上了像下面这样的二维码扫描器
只需打开手机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爱好者社区”。