长沙网站设计公司怎么样,联兴建设官方网站,没有网站能做淘宝客吗,企业网页制作要注意什么简介 在日常工作中#xff0c;我们可能需要管理大量图片#xff0c;这些图片中可能存在图像相同文件名不同的情况。手动删除这些重复的图片既费时又费力。为了解决这个问题#xff0c;我们可以编写一个Python脚本来自动化这个过程。 准备工作
在开始之前#xff0c;请确保…简介 在日常工作中我们可能需要管理大量图片这些图片中可能存在图像相同文件名不同的情况。手动删除这些重复的图片既费时又费力。为了解决这个问题我们可以编写一个Python脚本来自动化这个过程。 准备工作
在开始之前请确保您已经安装了Python环境并且安装了以下库
Pillow用于图像处理。imagehash用于计算图像的哈希值。
您可以通过以下命令安装这些库
pip install Pillow imagehash代码解析
from pathlib import Path
from PIL import Image
from imagehash import phashdef remove_duplicate_images(dir_path):图片去重:param dir_path:文件夹路径hashes set()for file in Path(dir_path).iterdir():# 计算图片哈希值# 打开非图片文件会报错try:img_hash str(phash(Image.open(file)))except:print(f不是图片文件{file})continue# 若图片哈希值已经在哈希集合中说明已经存在相同图片删除当前图片文件即可if img_hash in hashes:file.unlink()print(f删除相同图片{file})else:# 将当前图片哈希值添加到哈希集合中hashes.add(img_hash)代码流程 导入库导入Path用于路径操作Image用于图像处理phash用于计算图像的感知哈希值。 定义函数定义remove_duplicate_images函数接受一个参数dir_path即需要去重的图片文件夹路径。 初始化哈希集合使用set()创建一个空集合hashes用于存储图片的哈希值。 遍历文件夹使用Path(dir_path).iterdir()遍历指定目录下的所有文件。 计算哈希值对于每个文件尝试使用Image.open(file)打开图片并使用phash计算其哈希值。如果文件不是图片会捕获异常并跳过该文件。 检查重复如果当前图片的哈希值已存在于hashes集合中则说明找到了重复的图片使用file.unlink()删除该文件并打印删除信息。否则将哈希值添加到hashes集合中。 执行函数直接调用remove_duplicate_images函数并传入需要去重的图片文件夹路径。