如何利用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 示例分享---逻辑推理编程解决八皇后
Jul 20 Python
Python的randrange()方法使用教程
May 15 Python
python利用装饰器进行运算的实例分析
Aug 04 Python
在Django同1个页面中的多表单处理详解
Jan 25 Python
python实现逻辑回归的方法示例
May 02 Python
使用 python pyautogui实现鼠标键盘控制功能
Aug 04 Python
Python list运算操作代码实例解析
Jan 20 Python
Python异步编程之协程任务的调度操作实例分析
Feb 01 Python
Python基于requests库爬取网站信息
Mar 02 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
May 11 Python
python等待10秒执行下一命令的方法
Jul 19 Python
sublime3之内网安装python插件Anaconda的流程
Nov 10 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
PHP中,文件上传
2006/12/06 PHP
PHP生成条形码大揭秘
2015/09/24 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
2017/07/18 PHP
php数据序列化测试实例详解
2017/08/12 PHP
JQuery 实现的页面滚动时浮动窗口控件
2009/07/10 Javascript
了解jQuery技巧来提高你的代码(个人觉得那个jquery的手册很不错)
2012/02/10 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
基于JQuery制作可编辑的表格特效
2014/12/23 Javascript
Bootstrap每天必学之基础排版
2015/11/20 Javascript
解决JavaScript数字精度丢失问题的方法
2015/12/03 Javascript
javascript数组去重小结
2016/03/07 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
Jquery Easyui自定义下拉框组件使用详解(21)
2020/12/31 Javascript
BootStrap的select2既可以查询又可以输入的实现代码
2017/02/17 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
nodejs中方法和模块用法示例
2018/12/24 NodeJs
ES6 Iterator遍历器原理,应用场景及相关常用知识拓展详解
2020/02/15 Javascript
深入解读VUE中的异步渲染的实现
2020/06/19 Javascript
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python对字符串实现去重操作的方法示例
2017/08/11 Python
浅谈机器学习需要的了解的十大算法
2017/12/15 Python
Flask核心机制之上下文源码剖析
2018/12/25 Python
python文档字符串(函数使用说明)使用详解
2019/07/30 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
解决python虚拟环境切换无效的问题
2020/04/30 Python
Python接口测试数据库封装实现原理
2020/05/09 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
css sprite简单实例
2016/05/23 HTML / CSS
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
2017/07/24 HTML / CSS
如何减少垃圾回收让内存更加有效使用
2013/10/18 面试题
理工大学毕业生自荐信范文
2014/02/22 职场文书
2014坚持党风廉政建设思想汇报
2014/09/18 职场文书
认识实习感想
2015/08/10 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技