欢迎关注原创视频教程

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

背景

今天QQ群里面有人问到谁有二维码提取的工具,样子如下

我一看这个工具,感觉功能实现上比较简单,但我后来想了想这个工具功能虽然简单,但使用的人群还是比较多的,于是今天抽出几分钟的时间把这个工具的核心代码撸了撸,虽然没有做GUI,但运行代码基本上功能都实现了

准备要识别的二维码图片

要识别的二维码图片()如下:

准备python环境

我的python环境是python3.8 创建目录qrcode目录,进入改目录执行如下代码

cd qrcodepython -m venv venv\venv\Scripts\Activate.ps1 # windows powershell 执行进入python虚拟环境# 安装 pyzbar 模块
pip install pyzbar
#安装 PIL库
pip install pillow

实现简单的单张二维码图片识别代码

from PIL import Image
import pyzbar.pyzbar as pyzbarimg_path = 'qrcode.png'
img = Image.open(img_path)#使用pyzbar解析二维码图片内容
barcodes = pyzbar.decode(img)#打印解析结果,从结果上可以看出,data是识别到的二维码内容,rect是二维码所在的位置
print(barcodes)
# [Decoded(data=b'http://www.h3blog.com', type='QRCODE', rect=Rect(left=7, top=7, width=244, height=244), polygon=[Point(x=7, y=7), Point(x=7, y=251), Point(x=251, y=251), Point(x=251, y=7)])]for barcode in barcodes:barcode_content = barcode.data.decode('utf-8') # 二维码内容print(barcode_content)barcode_rect = barcode.rect # 二维码在图片中的位置qr_size = list(barcode_rect) #二维码大小print(qr_size)

批量识别图片二维码

我们把上面的代码重构下,做一个批量识别二维码的小工具,程序读取指定目录下面的图片,将识别结果保存到txt文件中

代码如下保存成 qrcode.py:

from PIL import Image
import pyzbar.pyzbar as pyzbar
import osdef qrcode_parse_content(img_path):'''单张图片的二维码解析'''img = Image.open(img_path)#使用pyzbar解析二维码图片内容barcodes = pyzbar.decode(img)#打印解析结果,从结果上可以看出,data是识别到的二维码内容,rect是二维码所在的位置# print(barcodes)# [Decoded(data=b'http://www.h3blog.com', type='QRCODE', rect=Rect(left=7, top=7, width=244, height=244), polygon=[Point(x=7, y=7), Point(x=7, y=251), Point(x=251, y=251), Point(x=251, y=7)])]result = []for barcode in barcodes:barcode_content = barcode.data.decode('utf-8')result.append(barcode_content)return resultdef load_imgs(folder):'''加载文件夹下的图片'''imgs = []for img_path in os.listdir(folder):ext = os.path.splitext(img_path)if len(ext) > 1 and is_img(ext[1]):imgs.append(img_path)return imgsdef is_img(ext):'''判断文件后缀是否是图片'''ext = ext.lower()if ext == '.jpg':return Trueelif ext == '.png':return Trueelif ext == '.jpeg':return Trueelif ext == '.bmp':return Trueelse:return Falseif __name__ == "__main__":imgs = load_imgs('./') # 打开图片文件夹,我这里是当前程序运行目录contents = []for img in imgs:contents.extend(qrcode_parse_content(img))file = './result.txt' # 写入文件路径,我这里程序当前运行目录下的result.txtwith open(file,'w') as f:for c in contents:f.write(c + '\n')

运行

python qrcode.py

总结

这里面注意是运用pyzbar识别二维码,整个过程比较简单,上述代码供大家参考,当然加上GUI界面操作就有一点点的小逼格了,2333333

python使用pyzbar批量识别图片中的二维码相关推荐

  1. 如何使用Python识别图片中的二维码

    如何使用Python识别图片中的二维码 二维码是一种方便快捷的信息传递方式,它们广泛应用于电子商务.广告和其他领域.在许多情况下,我们需要识别图片中的二维码,以便从中获取信息.Python是一种流行的 ...

  2. JavaCV进阶opencv图像处理:10行代码快速实现扫描识别图片中的二维码

    人脸检测识别 javacv进阶opencv图像检测/识别系列目录 人脸检测识别 JavaCV进阶opencv图像处理:摄像头图像人脸检测 JavaCV进阶opencv图像处理:ffmpeg视频图像画面 ...

  3. 批量识别条形码和二维码

    依赖 <dependency><groupId>net.sf.barcode4j</groupId><artifactId>barcode4j-ligh ...

  4. python识别图片中的二维码_python3+pyzbar+Image 进行图片二维码识别

    1.前言 最近公司有个项目要写个程序自动识别客户提交照片里的二维码,一接到这个任务马上就想到了用Python这个万能的工具! 2.搜寻 首先在网上到处找了很多"灵感",看看其他人都 ...

  5. 使用UVCCamera拍照后zbar与zxing识别图片中的二维码

    最近公司有一个需求,使用UVC摄像头,拍照识别图中的二维码. 关于UVC请看:mirrors / liuguihong / androiduvccamera · GitCode 步骤如下: 1.添加依 ...

  6. OpenCV检测与识别条码、二维码

    原文链接:http://www.juzicode.com/opencv-note-barcodedetector-qrcodedetector ​在 zbar:给我来10G打码图片 一文中桔子菌介绍了 ...

  7. 【Python-利用动态二维码传输文件(四)】使用pyautogui库录屏(连续截图),然后利用OpenCV逐张读取截图,识别当中的二维码信息,并把信息重组成原文件

    程序示意图 目录 一.使用pyautogui库,对电脑屏幕进行录屏 二.使用OpenCV库对100帧截图进行识别,并与原29帧二维码图片内含信息进行比对 三.把获取的100帧二维码信息去重,并保持原来 ...

  8. python 全栈开发,Day128(创建二维码,扫码,创建玩具的基本属性)

    python 全栈开发,Day128(创建二维码,扫码,创建玩具的基本属性) 昨日内容回顾 1.app播放音乐plus.audio.createPlayer(文件路径/URL)player.play( ...

  9. 用不同的QR Code识别库实现二维码的识别(第一篇:opencv 和BoofCV)

    最近有个项目需要实现二维码的识别和摄像头的数据采集.在开始正式项目之前,我决定用python写几行简单的代码来测试每个库的识别效果.这次没有连续测量,也没有使用多线程识别.只是简单的测试了每个二维码的 ...

最新文章

  1. 魔与道的反复较量 反垃圾邮件技术
  2. PNAS | 基因调控之深度学习揭示免疫细胞分化的调节机制
  3. 从C语言的角度重构数据结构系列(四)-静态链表动态链表
  4. html5和响应式,35个响应式HTML5和CSS3模版
  5. [architecture]-ARMV7的模式切换总结
  6. html5 自定义属性data-*
  7. 给自己一个微笑,让生命带给我们更多的幸福。
  8. 积木赛尔号机器人_《赛尔号大电影7》定档2019年暑期 十年陪伴升级归来
  9. 多线程完成连续打印1-100的数字, 要求一条线程专门打印奇数,另外一条专门用来打印偶数
  10. stc15w4k32s4芯片引脚图片_单片机引脚功能初识及提高(3)
  11. MS Office 冷门却实用的技巧及软件安装包分享(文末有福利)
  12. 网页导出pdf不完整_这些 PDF 神器,请你务必收藏
  13. sim800使用方法
  14. linux运行脚本运行不了,shell脚本在windows上可以执行,Linux上面不能执行
  15. 计算机术语写祝福语,祝福语精选
  16. 【Python爬虫项目】链家房屋信息抓取(超详细适合新手练习附源码)
  17. gdal-ogr2ogr空间数据转换
  18. 将cookie字符串转成editthiscookie插件的json格式
  19. 外贸建站之独立站系统选择
  20. [转载]看外国人在网络上的吐槽:为什么中文这么TM难?

热门文章

  1. session与PHP之session_start()
  2. LabVIEW基础-VI Scripting
  3. 请教关于基于C#移动考勤系统的开发。谢谢!!!
  4. 奶爸生活-打电话的真实意图
  5. 使用Linux中的信号做一个小小的类似考试系统
  6. Android 判断SIM卡属于哪个移动运营商
  7. L1-047 装睡 (10 分) C语言
  8. 动软代码生成器获国家版权局软件著作权证书
  9. python逻辑流程图_Python大牛历时一个月打造的Python系统学习流程图,超详细!
  10. 如何下载矢量建筑楼块轮廓为CAD文件