如何利用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之类的细节
Oct 13 Python
Python入门篇之条件、循环
Oct 17 Python
Python实现批量更换指定目录下文件扩展名的方法
Sep 19 Python
Python探索之自定义实现线程池
Oct 27 Python
python绘制双柱形图代码实例
Dec 14 Python
python操作列表的函数使用代码详解
Dec 28 Python
Python元组常见操作示例
Feb 19 Python
PyQtGraph在pyqt中的应用及安装过程
Aug 04 Python
使用Python实现画一个中国地图
Nov 23 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
Jun 27 Python
tensorflow中的数据类型dtype用法说明
May 26 Python
Python中递归以及递归遍历目录详解
Oct 24 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中实现中文字符进制转换原理分析
2011/12/06 PHP
php中如何同时使用session和cookie来保存用户登录信息
2013/07/05 PHP
Linux下PHP加速器APC的安装与配置笔记
2014/10/24 PHP
smarty内置函数foreach用法实例
2015/01/22 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
jQuery代码优化之基本事件
2011/11/01 Javascript
JS鼠标事件大全 推荐收藏
2011/11/01 Javascript
热点新闻滚动特效的js代码
2013/08/17 Javascript
Jquery对数组的操作技巧整理
2014/03/25 Javascript
js锁屏解屏通过对$.ajax进行封装实现
2014/07/31 Javascript
jquery、js调用iframe父窗口与子窗口元素的方法整理
2014/07/31 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
js限制文本框的输入内容代码分享(3类)
2015/08/20 Javascript
EasyUI学习之DataGird分页显示数据
2016/12/29 Javascript
Bootstrap3 内联单选和多选框
2016/12/29 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
2017/08/12 Javascript
Angular使用 ng-img-max 调整浏览器中的图片的示例代码
2017/08/17 Javascript
Vue-cli Eslint在vscode里代码自动格式化的方法
2018/02/23 Javascript
vue项目中,main.js,App.vue,index.html的调用方法
2018/09/20 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
Element-UI 使用el-row 分栏布局的教程
2020/10/26 Javascript
使用python在校内发人人网状态(人人网看状态)
2014/02/19 Python
Python代码实现KNN算法
2017/12/20 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
2020/05/25 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
2021/01/05 Python
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
香港网上花店:FlowerAdvisor香港
2019/05/30 全球购物
怎样在程序里获得一个空指针
2015/01/24 面试题
邮政员工辞职信
2014/01/16 职场文书
小学生操行评语
2014/04/22 职场文书
英语专业毕业生求职信
2014/05/24 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
SQL Server表分区删除详情
2021/10/16 SQL Server
PostgreSQL基于pgrouting的路径规划处理方法
2022/04/18 PostgreSQL