如何利用python检测图片是否包含二维码


Posted in Python onOctober 15, 2020

前言

因为一直在几个平台发文章,发现有些平台并不会检测文章中的图片是否会包含二维码,但是其中也有平台会去检测,所以就去研究了一下python如何去检测。搜了一下大概有两个库可以使用:

  • 一个是zbar,这个库是挺牛的,不过只支持python2.7,再者也没有继续维护,什么年代了,应该没人使用python2.7了吧(2020年1月以后连python2.7都不再维护了,有还在使用的童靴该跟上时代了)。
  • 一个是pyzbar,基本上传承了zbar的功能。

安装

pip install pyzbar -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
pip install Pillow

测试

准备图片

首先去二维码生成网站准备一堆二维码作为测试准备,我准备了一些图片,也有不包含二维码的。

如何利用python检测图片是否包含二维码

代码

使用方法如下图,图片使用Pillow库打开,再用pyzbardecode解码,代码如下:

import pyzbar.pyzbar as pyzbar
from PIL import Image,ImageEnhance
import os
img_dir = "..\\img"
def open_img():

  img_list = []
  for _,_,file_list in os.walk(img_dir):
    img_list = [os.path.join(img_dir,file) for file in file_list if file.endswith(".jpg") or file.endswith(".png") ]
  print("所有文件:{}".format(img_list))

  return img_list



def show():
  img_list = open_img()
  for _img in img_list:
    img = Image.open(_img)
    # img = ImageEnhance.Brightness(img).enhance(2.0)#增加亮度

    # img = ImageEnhance.Sharpness(img).enhance(17.0)#锐利化

    # img = ImageEnhance.Contrast(img).enhance(4.0)#增加对比度

    # img = img.convert('L')#灰度化
    texts = pyzbar.decode(img)
    if not texts:
      print("{}文件不存在二维码".format(_img))
    for text in texts:
      t = text.data.decode("utf-8")
      if t:
        print("{}文件存在二维码,内容为:{}".format(_img,t))



if __name__ == '__main__':
  show()

注释掉的代码可以在图片识别率低的情况下打开,以此提高图片亮度。

运行结果

如何利用python检测图片是否包含二维码

都能正确识别出来,效果还是可以的。

以上就是如何利用python检测图片是否包含二维码的详细内容,更多关于python 二维码的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python base64 decode incorrect padding错误解决方法
Jan 08 Python
在windows下快速搭建web.py开发框架方法
Apr 22 Python
python中学习K-Means和图片压缩
Nov 20 Python
python实现Floyd算法
Jan 03 Python
python解析html提取数据,并生成word文档实例解析
Jan 22 Python
使用apidocJs快速生成在线文档的实例讲解
Feb 07 Python
运用PyTorch动手搭建一个共享单车预测器
Aug 06 Python
在Pytorch中使用样本权重(sample_weight)的正确方法
Aug 17 Python
Python 线程池用法简单示例
Oct 02 Python
Python threading.local代码实例及原理解析
Mar 16 Python
使用python-cv2实现Harr+Adaboost人脸识别的示例
Oct 27 Python
Python+Pillow+Pytesseract实现验证码识别
May 11 Python
用python实现一个简单计算器(完整DEMO)
Oct 14 #Python
python在linux环境下安装skimage的示例代码
Oct 14 #Python
python中如何使用虚拟环境
Oct 14 #Python
Python 3.9的到来到底是意味着什么
Oct 14 #Python
python破解同事的压缩包密码
Oct 14 #Python
如何Tkinter模块编写Python图形界面
Oct 14 #Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
Oct 14 #Python
You might like
WordPress中对访客评论功能的一些优化方法
2015/11/24 PHP
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
javascript对select标签的控制(option选项/select)
2013/01/31 Javascript
JavaScript修改css样式style动态改变元素样式
2013/12/16 Javascript
javascript中处理时间戳为日期格式的方法
2014/01/02 Javascript
Linux下编译安装php libevent扩展实例
2015/02/14 Javascript
jQuery使用hide方法隐藏指定元素class样式用法实例
2015/03/30 Javascript
JavaScript获取按钮所在form表单id的方法
2015/04/02 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
2016/10/18 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
js实现点击每个li节点,都弹出其文本值及修改
2016/12/15 Javascript
json2.js 入门教程之使用方法与实例分析
2017/09/14 Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
2019/08/23 Javascript
js实现简单掷骰子小游戏
2019/10/24 Javascript
JS实现横向轮播图(中级版)
2020/01/18 Javascript
基于vue的tab-list类目切换商品列表组件的示例代码
2020/02/14 Javascript
JavaScript 禁止用户保存图片的实现代码
2020/04/28 Javascript
JS如何判断对象是否包含某个属性
2020/08/29 Javascript
bpython 功能强大的Python shell
2016/02/16 Python
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
对Python3.6 IDLE常用快捷键介绍
2018/07/16 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
python进行参数传递的方法
2020/05/12 Python
python rolling regression. 使用 Python 实现滚动回归操作
2020/06/08 Python
Python实现壁纸下载与轮换
2020/10/19 Python
澳大利亚鞋仓库:Shoe Warehouse
2019/07/25 全球购物
5个HTML5的常用本地存储方式详解与介绍
2021/03/27 HTML / CSS
部队学习十八大感言
2014/01/11 职场文书
项目经理任命书范本
2014/06/05 职场文书
大学教师师德师风演讲稿
2014/08/22 职场文书
2014年小学班主任工作总结
2014/11/08 职场文书
小学生五一劳动节演讲稿
2015/03/18 职场文书
小学国庆节活动总结
2015/03/23 职场文书
2015年语文教研组工作总结
2015/05/23 职场文书
详解Go与PHP的语法对比
2021/05/29 PHP
使用Apache Camel表达REST服务的方法
2022/06/10 Servers