编程筛选图片怎么弄

时间:2025-01-26 14:44:40 网络游戏

安装所需库

使用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。