非凡首页|软件资讯|最新更新|下载排行|软件分类|软件专题
您当前位置: 下载首页图形图像图像处理删除重复图片的软件

删除重复图片的软件 v2.99 图像处理

  • 软件等级:5 stars.
  • 软件大小:57.05MB
  • 支持语言:简体中文
  • 授权方式:免费版
  • 软件分类:图形图像/图像处理
  • 官网链接:
  • 更新时间:2025-09-03 12:39:06
  • 运行环境:WinXp,Win2003,WinVista,Win 7,Win 8,Win 10,x64
  • 厂商:
关 键 字:
软件介绍 软件截图 软件专题 软件问答 相关文章 相关软件 下载地址

喜欢摄影和拍照的朋友们经常会将照片放到电脑上,时间长了,往往会有很多重复的照片,浪费电脑存储空间,想要清理重复照片的话,手动查找非常的麻烦,那么就需要删除重复图片的软件了,软件能够智能扫描电脑指定目录中的重复照片,支持一键删除或手动删除,方便快捷。

作者说明

今天闲来无事整理素材,发现有许多重复的图片,由于数量太多无法手动翻阅删除,想想写个代码,分析了一下重复图片有些是同名的,有些内容重复不同名,返回文件名清理放弃,图片大小也放弃放弃,后来选用计算MD5的方式清除,然后先是使用os.listdir()函数遍历文件夹下的图片,在测试过程中,如果文件夹下还包含文件夹就会引发异常,后来决定用os.walk()函数来遍历;

源码注释写的比较清晰,就不多阐述,可根据自己需要封装函数,制作成死循环,添加退出条件,复用。

代码一览

import os,hashlib

import numpy as np

from PIL import Image,UnidentifiedImageError

from PIL.Image import DecompressionBombError

from rich import print

from time import time

print("""[#00CED1]待清理的文件夹内如果还包含了文件夹也同样可以清理![/#00CED1][#0000FF]

@@@@@@@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@@@@ @@@ @@@ @@@ @@@@@@ @@@ @@@ @@@ @@@

@@@@@@@@ @@@ @@@ @@@ @@@ @@@ @@@ @@@@@@@@ @@@ @@@ @@@ @@@@@@@@ @@@ @@@ @@@@ @@@

@@! @@! @@@ @@! @@@ @@! @@@ @@! @@@ @@! @@! @@@ @@! @@@ @@! @@! @@!@!@@@

!@! !@! @!@ !@! @!@ !@! @!@ !@! @!@ !@! !@! @!@ !@! @!@ !@! !@! !@!!@!@!

@!!!:! @!@ !@! @!@!@!@! @!@ !@! @!@!@!@! @!! @!@ !@! @!@ !@! !!@ !!@ @!@ !!@!

!!!!!: !@! !!! !!!@!!!! !@! !!! !!!@!!!! !!! !@! !!! !@! !!! !!! !!! !@! !!!

!!: !!: !!! !!: !!! !!: !!! !!: !!! !!: !!: !!! !!: !!! !!: !!: !!: !!!

:!: :!: !:! :!: !:! :!: !:! :!: !:! :!: :!: !:! :!: !:! !!: :!: :!: :!: !:!

:: ::::: :: :: ::: ::::: :: :: ::: :: :::: ::::: :: ::::: :: ::: : :: :: :: ::

: : : : : : : : : : : : : : :: : : : : : : : : : ::: : :: :

[/#0000FF] [#00CED1]待清理的文件夹内还包含文件夹也可清理![/#00CED1]""")

path = input(r"输入图片文件夹路径,例如 D:⁄python⁄tupian:")

try:

file = os.walk(path) # 遍历目录;

except FileNotFoundError: # 捕获路径不存在异常;

print('抱歉,没有这个路径!')

else:

temp = set() # 创建临时集合;

del_count = 0 # 删除图片计数;

pass_count = 0 # 非图片计数;

file_count = 0 # 总文件计数;

time1 = time()

for path_name, dir_name, file_name in file: # 遍历walk返回3个元素;

for n in file_name: # 获得每个文件名字;

full_path = os.path.join(path_name, n) # 拼接路径和文件名,获得文件完整路径;

file_count += 1 # 文件计数+1;

print(full_path)

try:

with Image.open(full_path) as t: # 打开图片;

array = np.array(t) # 转为数组;

except (UnidentifiedImageError,DecompressionBombError): # 捕获不是图片,像素炸弹异常;

pass_count += 1 # 非图片计数+1;

pass

else:

md5 = hashlib.md5() # 创建MD5对象;

md5.update(array) # 获取当前图片MD5;

if md5.hexdigest() not in temp: # 如果哈希值没有在集合中;

temp.add(md5.hexdigest()) # 就把哈希值添加到集合中;

else:

os.remove(full_path) # 如果在集合中就删除当前图片;

print(full_path+'------------------已删除')

del_count += 1 # 删除计数+1;

time2 = time()

time3 = time2-time1

if pass_count != 0:

print('[#7CFC00]非图片数据:[/#7CFC00][#800000]{0}[/#800000] 个.'.format(pass_count))

print('[#800080]一共读取图片:[/#800080][#800000]{0}[/#800000] 张.'.format(file_count - pass_count))

print('[#3CB371]删除重复图片:[/#3CB371][#800000]{0}[/#800000] 张.'.format(del_count))

print('[#0000FF]总耗时为:[/#0000FF][#800000]{:.4f}[/#800000] 秒.'.format(time3))

input('按任意键结束!!!') # 此条为了编译成EXE或在命令行运行脚本时能看见上面统计后数据所添加,如果在IDE中运行可删除;

exit() # 如果在IDE中运行可删除;

喜欢小编为您带来的删除重复图片的软件吗?希望可以帮到您~更多软件下载尽在非凡软件站。

软件截图

查看安装过程

图片处理软件

图片处理软件 图片处理软件是一种对图像进行编辑、处理、转换的图片处理工具,图片处理软件使用简单支持功能多样,支持批量处理图片文件。图片处理软件哪个好呢?非凡为大家提供几款图片处理软件欢迎朋友们使用。

软件资讯

更多>
  • 囧次元如何搜索动漫

    囧次元如何搜索动漫

    在动漫爱好者的世界里,囧次元是一个备受欢迎的平台,它汇聚了丰富多样的动漫资源。那么,如何在囧次元上高效地搜索到自己心仪的动漫呢?首先,打开囧次元应用程序。进入主界面后,你会看到界面布局简洁明了。在顶部的搜索栏就是关键所在。点击搜索栏,它会自动弹出键盘,准备接收

  • 如何关闭知乎点赞通知

    如何关闭知乎点赞通知

    在浏览知乎时,频繁的点赞通知可能会打扰到不少用户。那么,究竟该如何关闭知乎点赞通知呢?下面就为大家详细介绍。首先,打开知乎应用程序。进入到主界面后,点击界面右下角的“我的”选项。这一步是找到设置入口的关键所在。接着,在打开的“我的”页面中,仔细寻找并点击“设置

  • word如何设置稿纸样式

    word如何设置稿纸样式

    在日常办公与写作中,有时我们需要将文档设置为稿纸样式,以满足特定的格式要求。那么,word怎么设置稿纸样式呢?下面将从多个维度为大家详细介绍。一、打开稿纸设置入口首先,打开word文档,找到“页面布局”选项卡。在该选项卡中,可以看到“稿纸设置”按钮,通常位于页

  • 他趣如何关闭在线状态

    他趣如何关闭在线状态

    在使用他趣这款社交软件时,有时我们可能希望关闭在线状态,以保护自己的隐私或者享受更自由的社交空间。那么,他趣怎么关闭在线状态呢?接下来就为大家详细介绍。首先,打开他趣应用程序。进入主界面后,通常可以在界面的右下角找到代表个人中心的图标,点击该图标。进入个人中心

  • vs2010如何编辑C

    vs2010如何编辑C

    在软件开发过程中,使用vs2010编辑c语言程序是一项常见的任务。然而,有时会遇到cmd窗口闪退的情况,这给程序的调试和运行带来了不便。下面将介绍如何在vs2010中编辑c语言程序,并解决cmd闪退的问题。一、在vs2010中编辑c语言程序1.打开vs2010

  • canva可画如何开通会员

    canva可画如何开通会员

    canva可画作为一款强大的在线设计工具,为用户提供了丰富的创作可能。当你想要解锁更多高级功能和海量资源时,开通会员是个不错的选择。首先,打开canva可画应用程序或官方网站。进入界面后,你会看到界面上方或侧边栏通常有一个“升级会员”或类似的选项入口。点击该选

最新更新

更多>

注意事项

本站所有资源(含游戏)均是软件作者、开发商投稿,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任,所有资源请在下载后24小时内删除。
如侵犯了您的版权、商标等,请立刻联系我们并具体说明情况后,本站将尽快处理删除,联系版权说明注意事项)。若有关在线投稿、无法下载等问题,请与本站客服人员联系
用户可自行按线路选择相应的下载点,可以直接点击下载/另存为,若直接点击下载速度太慢,请尝试使用高速下载器。为确保下载的文件能正常使用,请使用WinRAR最新版本解压本站软件。
建议大家谨慎对待所下载的文件,大家在安装的时候务必留意每一步!关于360安全卫士QQ电脑管家的有关提示,请自行注意选择操作。