安装所需库
使用pip安装所需的Python库,包括PIL(Pillow)和os。
读取CSV文件
编写一个函数来读取CSV文件,获取需要筛选的图片名称列表。例如,使用csv模块读取文件内容,并将文件内容转换为字符串列表。
读取图片并筛选
编写一个函数来遍历指定文件夹中的所有图片,并根据预设条件(如文件大小、格式、颜色等)筛选出符合条件的图片。可以使用PIL库来读取和处理图片。
保存筛选后的图片
将筛选出的图片保存到指定文件夹中。可以使用shutil库来复制或移动图片文件。
显示图片(可选):
如果需要在同一界面显示筛选后的图片,可以使用tkinter库创建一个简单的UI界面,并在界面上显示图片。
```python
import os
import csv
from PIL import Image
import shutil
import tkinter as tk
from tkinter import filedialog
def read_image_names(csv_file):
with open(csv_file, newline='') as csvfile:
reader = csv.reader(csvfile)
image_names = [row for row in reader]
return image_names
def filter_images(image_folder, output_folder, image_names):
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for image_name in image_names:
src_path = os.path.join(image_folder, image_name)
dst_path = os.path.join(output_folder, image_name)
if os.path.isfile(src_path):
shutil.copy2(src_path, dst_path)
def main():
csv_file = 'sn.csv'
image_folder = 'original_el'
output_folder = 'picked_el'
image_names = read_image_names(csv_file)
filter_images(image_folder, output_folder, image_names)
if __name__ == '__main__':
main()
```
建议
确保CSV文件中的图片名称与实际图片文件名匹配。
根据实际需求调整筛选条件,如文件大小、格式、颜色等。
如果需要更复杂的图片处理功能,可以考虑使用更高级的图像处理库,如OpenCV。