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

作者:罗华 时间:2021-04-13 01:42:53 

前言

因为一直在几个平台发文章,发现有些平台并不会检测文章中的图片是否会包含二维码,但是其中也有平台会去检测,所以就去研究了一下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检测图片是否包含二维码

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

来源:http://www.happyhong.cn/python/10028.html

标签:python,检测,图片,二维码
0
投稿

猜你喜欢

  • Python中使用glob和rmtree删除目录子目录及所有文件的例子

    2023-12-26 07:14:18
  • python调用系统中应用程序的函数示例

    2021-01-18 11:06:32
  • Pandas 同元素多列去重的实例

    2023-02-09 21:03:32
  • python如何发布自已pip项目的方法步骤

    2023-01-22 01:17:36
  • javascript面向对象技术基础(四)

    2010-02-07 13:15:00
  • Linux下Python脚本自启动和定时启动的详细步骤

    2022-08-13 20:51:22
  • opencv resize图片为正方形尺寸的实现方法

    2023-02-21 15:34:51
  • Python实现括号匹配方法详解

    2021-05-01 23:06:58
  • 详解python 爬取12306验证码

    2022-07-17 20:38:20
  • Python常用正则表达式符号浅析

    2022-03-25 08:08:36
  • Python文件处理、os模块、glob模块

    2023-03-03 17:27:16
  • Python xlrd excel文件操作代码实例

    2021-05-19 21:52:18
  • GOOGLE LOGO 设计演化过程

    2008-02-13 19:41:00
  • Python的代理类实现,控制访问和修改属性的权限你都了解吗

    2022-10-25 13:09:47
  • FrontPage服务器扩展

    2008-03-05 13:05:00
  • asp下几种常用排序算法

    2011-04-18 10:33:00
  • 在自动化中用python实现键盘操作的方法详解

    2021-02-04 00:23:48
  • 四大因素扼杀了中国人的创造力

    2008-09-11 18:05:00
  • 网页栅格系统研究:蛋糕的切法

    2008-10-24 17:07:00
  • 页面制作人员的修练之道

    2023-11-10 23:52:18
  • asp之家 网络编程 m.aspxhome.com