用python遍历一个文件里的所有图片并且根据图片的大小进行分类,创建新的文件夹分到不同的文件夹里,用os模块和cv2模块写写,可以运行给我看一下
时间: 2023-03-30 14:00:36 浏览: 76
你好,这个问题我可以回答。以下是代码示例:
```
import os
import cv2
# 定义函数,用于分类图片并保存到不同的文件夹中
def classify_images(folder_path):
# 遍历文件夹中的所有文件
for file_name in os.listdir(folder_path):
# 判断文件是否为图片
if file_name.endswith('.jpg') or file_name.endswith('.png'):
# 读取图片
img_path = os.path.join(folder_path, file_name)
img = cv2.imread(img_path)
# 获取图片大小
height, width, channels = img.shape
# 根据图片大小分类
if height > 100 and width > 100:
new_folder = 'large_images'
elif height > 500 and width > 500:
new_folder = 'medium_images'
else:
new_folder = 'small_images'
# 创建新文件夹
new_folder_path = os.path.join(folder_path, new_folder)
if not os.path.exists(new_folder_path):
os.makedirs(new_folder_path)
# 移动图片到新文件夹
new_img_path = os.path.join(new_folder_path, file_name)
os.rename(img_path, new_img_path)
# 调用函数,传入文件夹路径
folder_path = 'path/to/folder'
classify_images(folder_path)
```
这个代码可以遍历指定文件夹中的所有图片,并根据图片大小进行分类,然后将图片移动到不同的文件夹中。你可以将代码保存为一个.py文件,然后在命令行中运行,传入文件夹路径即可。