复制图像到另一个文件夹

  • 在处理图像的时候常常需要将一个图像复制到另一个文件夹中,Python可以很方便的利用shutil.copy(src,dst)函数实现这个操作。今天来讲一下这个函数的用法。

  • 先来看看函数的定义:
    这里写图片描述

    • src是将要复制的图像的文件路径,dst是将要复制到的位置
    • 返回复制图像的文件路径

通过一个例子来说明这个函数的具体用法

# 复制图像到另一个文件夹
# 文件所在文件夹
file_dir = 'F:\\Test\\TestA'
# 创建一个子文件存放文件
name = 'class'

file_list = os.listdir(file_dir)

for image in file_list:

    #如果图像名为B.png 则将B.png复制到F:\\Test\\TestA\\class
    if image == "B.png":
        if os.path.exists(os.path.join(file_dir,'class_name')):
            shutil.copy(os.path.join(file_dir,image), os.path.join(file_dir, 'class_name'))
        else:
            os.makedirs(os.path.join(file_dir,'class_name'))
            shutil.copy(os.path.join(file_dir, image), os.path.join(file_dir, 'class_name'))

程序运行前文件夹
这里写图片描述

程序运行后文件夹
这里写图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这个任务可以通过Python的Pillow库实现。具体步骤如下: 1. 遍历文件夹中所有图像文件。 2. 对于每个图像文件,使用Pillow库的Image.open()方法打开图像文件。 3. 使用Pillow库的Image.convert()方法将图像转换为L模式,即灰度图像。 4. 使用Pillow库的Image.histogram()方法获取图像的直方图信息。 5. 计算直方图中像素值大于等于192(即灰度值大于等于70%)的像素占比。 6. 如果占比大于等于70%,则将该图像文件复制到另一个文件夹中。 下面是Python代码实现: ```python from PIL import Image import shutil import os # 定义输入文件夹和输出文件夹路径 input_dir = "input_folder" output_dir = "output_folder" # 遍历输入文件夹中所有图像文件 for file_name in os.listdir(input_dir): if file_name.endswith(".jpg") or file_name.endswith(".png"): # 打开图像文件 img = Image.open(os.path.join(input_dir, file_name)) # 将图像转换为灰度图像 img = img.convert("L") # 获取图像的直方图信息 hist = img.histogram() # 计算直方图中像素值大于等于192的像素占比 ratio = sum(hist[192:]) / sum(hist) # 如果占比大于等于70%,则将该图像文件复制到输出文件夹中 if ratio >= 0.7: shutil.copy(os.path.join(input_dir, file_name), os.path.join(output_dir, file_name)) ``` 注意,在上面的代码中,我们假设输入文件夹中只包含jpg和png格式的图像文件。如果需要处理其他格式的图像文件,需要相应地修改代码。同时,我们也没有考虑输入文件夹中可能包含子文件夹的情况,如果需要处理子文件夹中的图像文件,需要使用递归遍历的方式来实现。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值