如何利用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 实现随机数详解及实例代码
Apr 15 Python
Python设计实现的计算器功能完整实例
Aug 18 Python
详谈pandas中agg函数和apply函数的区别
Apr 20 Python
python实现决策树ID3算法的示例代码
May 30 Python
python多任务及返回值的处理方法
Jan 22 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
Aug 13 Python
Python的形参和实参使用方式
Dec 24 Python
python 链接sqlserver 写接口实例
Mar 11 Python
Django多数据库配置及逆向生成model教程
Mar 28 Python
如何从csv文件构建Tensorflow的数据集
Sep 21 Python
pycharm 关闭search everywhere的解决操作
Jan 15 Python
Python3 使用pip安装git并获取Yahoo金融数据的操作
Apr 08 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判断是否为空的几个函数对比
2015/04/21 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
2020/05/15 PHP
jQuery 1.0.2
2006/10/11 Javascript
用js+xml自动生成表格的东西
2006/12/21 Javascript
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
JS对象与JSON格式数据相互转换
2012/02/20 Javascript
中文路径导致unitpngfix.js不正常的解决方法
2013/06/26 Javascript
nodejs读取memcache示例分享
2014/01/02 NodeJs
js网页实时倒计时精确到秒级
2014/02/10 Javascript
jQuery获取动态生成的元素示例
2014/06/15 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
Bootstrap Multiselect 常用组件实现代码
2017/07/09 Javascript
iview通过Dropdown(下拉菜单)实现的右键菜单
2018/10/26 Javascript
vue项目中使用vue-i18n报错的解决方法
2019/01/13 Javascript
[44:50]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 TNC vs VG
2018/04/02 DOTA
python使用opencv进行人脸识别
2017/04/07 Python
python爬虫爬取网页表格数据
2018/03/07 Python
Python pymongo模块常用操作分析
2018/09/01 Python
使用python爬取抖音视频列表信息
2019/07/15 Python
Python打印不合法的文件名
2020/07/31 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
如何利用python生成MD5并去重
2020/12/07 Python
日本最大的旅游网站:Rakuten Travel(乐天旅游)
2018/08/02 全球购物
美国新娘礼品店:The Paisley Box
2020/09/08 全球购物
爱护公共设施的标语
2014/06/24 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
党的群众路线教育实践活动自我剖析材料
2014/10/08 职场文书
医院党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
办公用品管理制度
2015/08/04 职场文书
2016年度先进班组事迹材料
2016/03/01 职场文书
民政局2016年“六一”儿童节慰问活动总结
2016/04/06 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
Redis命令处理过程源码解析
2022/02/12 Redis