python遍历文件中的图片并判断删除模糊图片的代码
时间: 2024-01-11 14:04:27 浏览: 78
可以使用Python的Pillow库来判断图片的清晰度。以下是遍历文件夹中所有图片文件并删除模糊图片的示例代码:
```python
from PIL import Image
import os
# 定义判断图片清晰度的函数
def is_blurry(img_path, threshold=100):
img = Image.open(img_path)
img = img.convert('L') # 转化为灰度图
arr = np.asarray(img, dtype=np.int32)
gy, gx = np.gradient(arr)
gnorm = np.sqrt(gx ** 2 + gy ** 2)
sharpness = np.average(gnorm)
if sharpness < threshold:
return True
else:
return False
# 定义删除模糊图片的函数
def delete_blurry_images(folder_path):
for filename in os.listdir(folder_path):
if filename.endswith('.jpg') or filename.endswith('.png') or filename.endswith('.jpeg'):
img_path = os.path.join(folder_path, filename)
if is_blurry(img_path):
os.remove(img_path)
print(f'{img_path} deleted because it is blurry.')
# 遍历文件夹中的图片文件并删除模糊图片
folder_path = 'your_folder_path'
delete_blurry_images(folder_path)
```
在上面的代码中,我们定义了一个`is_blurry()`函数来判断图片的清晰度,使用Pillow库来计算图片的梯度和平均清晰度,如果平均清晰度小于阈值,则认为图片模糊。然后我们定义了一个`delete_blurry_images()`函数来遍历文件夹中的所有图片文件,并删除模糊图片。调用`delete_blurry_images()`函数并传入文件夹路径即可完成操作。
阅读全文