python从txt中批量读取图片名后将图片另存为

这篇博客介绍了如何使用Python处理大量图片。首先,通过读取txt文件,将图片名称存储到列表中,然后遍历列表,结合图片路径读取每个图片,并保存到指定位置。此方法适用于数据集的管理和预处理,特别是深度学习项目中。
摘要由CSDN通过智能技术生成

我们在做深度学习的时候几乎都需要用到txt文件,还有对应的图片名,这个时候如果数据就几十个还好,如果再增多的话,我们就受不了了,下面我就记录顺便保存一下代码

txt_file="C:\\Users\\ljs\\Desktop\\rename\\test_501.txt" #这里是txt文件的地址
a=[] #创建一个列表
with open(txt_file, 'r', encoding='utf-8') as file:
    for c in file.readlines():
        a.append(c.strip('\n').split(' ')[0]) #读取文件并放入列表

#print(a)
path = 'C:\\Users\\ljs\\Desktop\\total' #从哪里读取图片
path_1 = 'C:\\Users\\ljs\\Desktop\\y' #把找到的图片存放在哪里
for filename in a:#遍历列表
    #print(type(filename))#字符串型
    img_path = path + '/' + filename #把图片的名字和地址组合
    print(img_path)
    img = cv2.imread(img_path) #根据图片的地址去读取图片
    save_name = path_1 + '/' + filename # 图片保存到另外的一个地方的地址和图片的名字
    cv2.imwrite(save_name,img) #保存图片

1、读取txt文件

首先读取txt文件中的每行时会读取到一个换行符\n。这个是我们不需要的,所有我们这里把他给strip掉,由于我读取的txt文件的每行不单单是图片的名称,所以我这里是用了split把图片名称后边的内容删掉,然后就只剩下图片名,最后再放入列表中,供接下来的读取。

2、根据名称去保存图片

我们遍历保存好的列表。列表里面是图片的名字(如果你没有分割错误的话),这个读取后是字符串型的,接下来我们要获取从哪里读取图片的文件地址,把地址与从列表里面遍历到的图片名相组合,然后就得到了每张图片的地址,我们用cv2.imread()去读取图片,最后把它保存,如果你不想改变原来图片的名字话直接按照上面的格式保存就行,如果想改变名字,那么就把path_1 + '/' + filename中的filename成你想改变的名字(例如:1,2,3,…)。保存的时候每张图片的名字一样哦

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值