当前位置: 首页 > article >正文

Python-图片去重

直接上代码
在这里插入图片描述

# 修改一下第34行文件夹路径以及13行图片后缀名即可使用
import os
from hashlib import md5


def remove_duplicate_images(folder_path):
    image_files = []
    duplicate_images = set()

    # 遍历文件夹,找到所有 JPG 图片文件
    for root, dirs, files in os.walk(folder_path):
        for file in files:
            if file.lower().endswith('.jpg'):
                image_files.append(os.path.join(root, file))

    # 遍历所有图片文件,并使用哈希值比较是否完全相同
    for image_file in image_files:
        with open(image_file, 'rb') as f:
            image_data = f.read()
            image_hash = md5(image_data).hexdigest()

            if image_hash in duplicate_images:
                f.close()
                # 如果哈希值存在于重复图片集合中,则删除图片文件
                print(os.path.basename(image_file))
                os.remove(image_file)
            else:
                # 否则将哈希值添加到重复图片集合中
                duplicate_images.add(image_hash)
                f.close()


# 文件夹路径
folder_path_ = 'E:/古风/'

# 调用函数删除重复图片
remove_duplicate_images(folder_path_)


http://www.kler.cn/a/157980.html

相关文章:

  • 派对的最大快乐值
  • 操作系统概论:揭秘计算机背后的神秘力量
  • 什么是银行卡第三方支付
  • 开源项目CuteSqlite开发笔记(二):SQLite的架构
  • Python代码编译并生成Docker镜像
  • 动手学深度学习笔记
  • SpringBoot集成Redis
  • Kafka中的auto-offset-reset配置
  • 基于@Table注解无法使用及报红的解决
  • pytest +uiautomator2+weditor app自动化从零开始
  • Android Studio打包APK软件步骤
  • 【AXI死锁】
  • ubuntu20 安装docker
  • 室内外融合便携式定位终端5G+UWB+RTK
  • 生成元(Digit Generator, ACM/ICPC Seoul 2005, UVa1583)
  • 【C++11(一)】右值引用以及列表初始化
  • 2023四川大学“腾讯杯”新生赛(同步赛)糖果(鸽巢原理)
  • 在AWS Lambda上部署标准FFmpeg工具——Docker方案
  • 【UE】中文字体 发光描边材质
  • CGAL的单调与排序矩阵搜索