原标题:10034-批量图片去重-支持子孙文件夹下操作-使用局部敏感哈希和感知哈希结合的方法进行图片去重【源代码】
导读:
代码功能概述这段代码实现了一个用于删除指定文件夹及其子文件夹中相似图片的工具。它通过计算图片的两种哈希值(平均哈希 average_hash 和感知哈希 phash)来判断图...
代码功能概述
这段代码实现了一个用于删除指定文件夹及其子文件夹中相似图片的工具。它通过计算图片的两种哈希值(平均哈希 average_hash
和感知哈希 phash
)来判断图片之间的相似度,并根据设定的相似度阈值删除相似的图片。
用户操作步骤
- 输入文件夹路径:用户需要输入包含图片的文件夹路径,代码支持输入子孙文件夹路径。
- 设置相似度阈值:用户需要输入一个相似度阈值,推荐范围是10 - 20。阈值越大越严谨,微小相似即认为是相似。
- 确认执行:输入完成后,通过键盘回车键确认执行删除相似图片的操作。
- 选择是否继续:操作完成后,程序会询问用户是否要继续运行程序,如果输入
y
则重新开始上述步骤,否则程序结束。
对子文件夹有效性
此代码对子文件夹有效,能够穿透子文件夹。代码使用 os.walk
函数遍历指定文件夹及其所有子文件夹中的文件,因此可以处理各级子文件夹中的图片。
实例验证
假设我们有如下文件夹及文件结构:
parent_folder
│
├── sub_folder1
│ ├── img1.jpg
│ ├── img2.jpg
│ └── img3.png
├── sub_folder2
│ ├── img4.jpg
│ └── img5.jpeg
└── img6.bmp
- 运行程序:
- 输入文件夹路径为
parent_folder
。 - 输入相似度阈值为10。
- 输入文件夹路径为
- 程序执行:
- 程序会遍历
parent_folder
及其子文件夹sub_folder1
和sub_folder2
中的所有图片文件。 - 对每张图片计算平均哈希值和感知哈希值,并与已处理图片的哈希值进行比较。
- 如果两张图片的哈希值差异小于阈值,就认为它们是相似图片,删除其中一张。
- 程序会遍历
- 结果:
- 执行完毕后,
parent_folder
及其子文件夹中相似的图片会被删除,剩余图片为不相似的图片。
- 执行完毕后,
python版本:3.86
是否带UI界面:非UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 728-搜索指定文件夹下指定文件夹并移动文件夹到指定文件夹内
- 752-批量复制文件及文件夹到多个文件夹
- 777-根据文件创建时间修改时间先后对每个文件夹下所有文件进行排序
- win系统可以安全删除的文件夹-以清理释放系统空间
- 搜索A文件夹内与B文件夹下快捷方式指向的最后一个文件夹同名文件夹并移动文件夹到快捷方式所在文件夹下
- 10083-批量解压rar分卷文件-txt中一行一个密码-自动匹配-解压完成后可选删除分卷
- 10085-批量解压zip分卷文件-支持带密码-txt中一行一个密码-自动匹配-解压完成后删除分卷
- 101-m3u8链接解析下载工具-可一次输入多个m3u8链接
- 100133-批量将视频转换为gif
- 305-批量去除图片水印
- 1开通VIP会员享全站内容免费查看
- 2🔥🔥🔥承接各种批处理工具定制 / 售后相关信息 / 任何需求请在该文章下留言
- 3752-批量复制文件及文件夹到多个文件夹
- 410081-1-批量解压自解压文件-【支持密码-子文件穿透】【不支持嵌套自解压或压缩包解压】-除自解压文件外不能有其他exe文件
- 5790-批量统计各文件夹下文件类型数量及文件夹路径输出到excell
- 6网页插入bilibili哔哩哔哩视频
- 7401-批量识别pdf中二维码并替换为指定图片或覆盖白色
- 8431-批量合并指定文件夹下各文件夹内pdf为一个pdf文件
- 9Adobe程序完全卸载教程完全卸载无残留-【包括单个程序卸载和全部程序卸载】(win系统版本)
- 10为ps脚本添加快捷键快速调用
还没有评论,来说两句吧...