基于Python的图片重复检测与删除工具
这段代码实现了一个专门运行在64位Windows系统(Win7及以上)的图形化工具,它的主要功能是批量检测并删除指定文件夹及其子文件夹内的重复图片,仅保留一张。该工具支持多种常见图片格式,包括 .jpg、.jpeg、.png、.gif、.bmp、.tiff 和 .webp。
用户打开这个工具后,首先看到的是详细的程序介绍,涵盖了工具适用的系统、支持的文件格式、对文件夹的穿透能力、具体功能、相似度阈值的使用说明以及实际使用的示例。在操作界面,用户需要执行以下操作:
- 选择图片所在文件夹路径:点击“选择文件夹”按钮,指定包含待检测图片的文件夹路径。工具会自动遍历该文件夹及其所有子文件夹中的图片。
- 设置相似度阈值:在“相似度阈值(推荐范围:10 - 20)”输入框中输入一个数字。这个阈值用于判断图片之间的相似程度,数字越大判断越严谨,一般推荐输入10,如果想要更严格的判断可以适当增加数值,但通常建议在10 - 20的范围内,具体数值需要用户自行测试。
完成上述设置后,点击“开始程序”按钮,工具会在一个新线程中启动检测与删除重复图片的任务。在处理过程中,工具会遍历指定文件夹及其子文件夹中的每一张图片,对每张图片分别计算其平均哈希值(LSH哈希)和感知哈希值。然后将当前图片的哈希值与已经记录的图片哈希值进行比较,如果与某张已记录图片的两种哈希值差异都小于设定的相似度阈值,就认为这两张图片是重复的,会删除当前图片,并在日志框中记录相关信息。如果在处理过程中用户点击“结束任务”按钮,工具会停止操作,并在日志框中记录“操作已终止”。处理完成后,日志框会显示“操作完成”,同时相关按钮状态会恢复到初始状态。
此外,工具还提供了“清空输入框”和“清空日志”按钮。“清空输入框”按钮可以清除文件夹路径和相似度阈值输入框中的内容;“清空日志”按钮则用于清空日志框中的所有记录。
菜单栏中有两个选项,“更多程序介绍”会打开一个特定链接,提供更多关于程序的详细信息;“win/mac程序定制”则显示了程序定制的联系方式,包括微信号以及定制费用说明。
以下是实例验证: 假设存在如下文件夹结构:
主文件夹
│
├── 图片文件夹
│ ├── img1.jpg
│ ├── img2.png
│ ├── 子文件夹 1
│ │ ├── img3.jpeg(与 img1.jpg 重复)
│ │ └── img4.bmp
│ ├── 子文件夹 2
│ │ ├── img5.gif
│ │ └── img6.webp(与 img2.png 重复)
打开该工具,选择“图片文件夹”路径为“主文件夹/图片文件夹”,在“相似度阈值(推荐范围:10 - 20)”输入框中输入“10”,然后点击“开始程序”。工具会遍历“图片文件夹”及其子文件夹中的所有图片,检测并删除重复的 img3.jpeg 和 img6.webp,同时在日志框中记录操作信息。若在处理过程中点击“结束任务”按钮,可中断处理任务。
python版本:3.86
是否带UI界面:UI版本
电脑系统版本:win10 64位 专业版系统(这是测试环境,其他环境也可以32位操作系统可能需要调整代码,让AI去转换即可)
脚本使用到的库:使用pycharm编辑器,如果没有安装相关库,会自动标红提示,鼠标放到标红的地方会弹出安装库按钮
重要提示:这是源代码,需要安装python使用,也可以自行修改部分代码实现想要的功能
查看源代码
- 随机文章
- 热门文章
- 717-搜索指定文件夹下同名文件【包含子孙文件夹下文件】在目标文件夹下创建同名文件夹并将同名文件移入
- 726-批量删除指定文件夹下及子孙文件夹下所有文件-不删除文件夹及空文件夹
- 734-持续监测A文件夹并将所有变动内容同步到B文件夹
- 763-批量删除整理多层文件夹冗余
- 768-以文件中关键词创建文件夹并把包含该关键词的文件移动到该文件夹
- 784-批量搜索移动或复制指定文件夹下指定名称的指定格式的文件到指定文件夹
- win系统可以安全删除的文件夹-以清理释放系统空间
- 解决win系统电脑休眠唤醒后网络无法连接问题-只显示地球但是不可用
- 454-批量检测损坏pdf文件并移动到目标文件夹内
- 791-批量为文件夹名添加前缀或后缀




还没有评论,来说两句吧...