用python处理图片名称_python按照图片命名顺序读取文件夹下的图片

假设我们要读取的文件夹下的图片命名如下:

现在需要按照图片的命名顺序逐个读取图片(即按照frame1.jpg,frame2.jpg,frame3.jpg,frame4.jpg,frame5.jpg顺序),通常情况下需要通过文件夹的路径将所有图片名放入到一个列表中,如下imgList保存'E:\测试视频01'文件夹下所有图片的名称

import os

imgList = os.listdir('E:\测试视频01')

print(imgList)

imgList的内容如下,没有按序排列,

对上一步的ingList进行排序:

import os

imgList = os.listdir('E:\论文\实验\iou_track\iou_tracker\可视化阈值大于0.7的框\测试视频01')

imgList.sort(key=lambda x: int(x.replace("frame","").split('.')[0]))#按照数字进行排序后按顺序读取文件夹下的图片

print(imgList)

此时 imgList的内容如下,可以看到已经有序排列:

再通过每张图片的文件名获得全路径:

import os

dir = 'E:\论文\实验\iou_track\iou_tracker\可视化阈值大于0.7的框\测试视频01'

imgList = os.listdir(dir)

print(imgList)

imgList.sort(key=lambda x: int(x.replace("frame","").split('.')[0]))#按照数字进行排序后按顺序读取文件夹下的图片

print(imgList)

for count in range(0, len(imgList)):

im_name = imgList[count]

im_path = os.path.join(dir,im_name)

print(im_path)

Python中,你可以使用`os`、`shutil`和`random`库来读取文件夹中的图片,打乱顺序后再重新命名并保存。以下是简单的步骤: 首先,安装必要的`Pillow`库来处理图片: ```bash pip install pillow ``` 接下来,编写一个Python脚本: ```python import os import random from PIL import Image # 设置原始图片目录和目标存储目录 source_folder = "path_to_your_source_folder" destination_folder = "path_to_your_destination_folder" # 确保目标目录存在 if not os.path.exists(destination_folder): os.makedirs(destination_folder) # 获取源文件夹中的所有图片文件 image_files = [f for f in os.listdir(source_folder) if os.path.isfile(os.path.join(source_folder, f)) and f.lower().endswith(('.jpg', '.jpeg', '.png'))] # 打乱图片文件列表 random.shuffle(image_files) # 遍历图片并按新名称保存 for i, image_file in enumerate(image_files): # 加上序号作为新名字 new_image_name = f'image_{i+1}_{os.path.splitext(image_file)[0]}' src_path = os.path.join(source_folder, image_file) dst_path = os.path.join(destination_folder, new_image_name) # 使用PIL打开图片,然后保存 with Image.open(src_path) as im: im.save(dst_path) print("图片已打乱并重命名保存完成") ``` 将上述代码中的`source_folder`和`destination_folder`替换为你实际的图片源文件夹路径和目标文件夹路径。 注意: 1. 文件夹中的文件名可能会有冲突,这里简单地使用了序号来避免,如果有需要,可以添加更复杂的文件名生成策略。 2. 对于大型文件夹,一次性加载所有图片可能会占用大量内存,可以考虑分批处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值