微慑信息网

通过python判断图片是否包含二维码 : vulsee.com

目的:目前某个站点备份时发现,打包后已经50多个G,备份下载是个问题;

而现在各种文章中宣传图片也不少,准备先清理一波,计划如下:

1、清理包含二维码的无关图片

2、根据图片所处文章位置以及图片大小,判断是否清理

3、根据图片的遍历结果,对比图片大小、像素以及出现频率/比例,进行判断

4、其他

5、记录删除的文件名,考虑使用默认图片替代数据库中的记录值,避免影响友好交互

目前先从容易的开始,检测存在二维码的图片,然后清理:

#coding:utf-8
'''
__author__="vulsee.com"
'''
import pyzbar.pyzbar as pyzbar
from PIL import Image,ImageEnhance
import os
import sys


def open_img(img_dir):

    img_list = []

    for root,dirs,files in os.walk(img_dir):
        for file in files:
            img_list = [os.path.join(root,file) for file in files if file.endswith(".jpg") or file.endswith(".png") or file.endswith("") ]
        for dir in dirs:
            print dir 
            open_img(img_dir+dir)
    if len(img_list)>0:
        try:
            check(img_list)
        except Exception as e:
            print '[-]------------err:',e

    return img_list


def check(img_list):
    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:
            pass
            print("{} :: 文件不存在二维码".format(_img))
        for text in texts:
            t = text.data.decode("utf-8")
            if t:
                print("{} ---> 文件存在二维码::内容为:{}".format(_img,t))
                os.remove(_img)
                if (os.path.exists(_img)==False):
                    print ("{} ---> 已删除").format(_img)
                else:
                    print ("{} ---> [!]删除失败").format(_img)


if __name__ == '__main__':
    img_dir = './uploads/'
    open_img(img_dir)

 

需要安装模块pillow以及pyzbar,在linux下除了安装pyzbar,还需要apt-get install zbar-tools

测试二维码:

 

 

 

本文标题:通过python判断图片是否包含二维码 : vulsee.com
本文链接:
(转载请附上本文链接)
https://vulsee.com/archives/vulsee_2021/0121_13676.html
转载请附本站链接,未经允许不得转载,,谢谢:微慑信息网-VulSee.com » 通过python判断图片是否包含二维码 : vulsee.com
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

微慑信息网 专注工匠精神

访问我们联系我们