个人微信公众号:AI研习图书馆,欢迎关注~
深度学习知识及资源分享,学习交流,共同进步~
1. 介绍
Python代码:根据txt文件批量提取图片并保存至另一文件夹,用于深度学习-图片数据预处理。
2. Python代码
- 实现方案一
import skimage.io as io
import os
data_dir='C:/Users/Administrator/Desktop/A'
str=data_dir + '/*.jpg'
coll = io.ImageCollection(str)
print(len(coll))
#io.imshow(coll[1])
#io.show()
file_list= []
for file in os.listdir(data_dir): #file为current_dir当前目录下图片名
if file.endswith(".jpg"): #如果file以jpg结尾
write_name = file #图片路径 + 图片名 + 标签
file_list.append(write_name) #将write_name添加到file_list列表最后
sorted(file_list) #将列表中所有元素随机排列
#print(file_list[1])
result=[]
with open('C:/Users/Administrator/Desktop/C/B.txt','r') as f:
for line in f:
line=line.strip('\n')
result.append(line)
print(result)
for i in range(0,4):
for j in range(0,2):
print("i=",i)
print("j=",j)
print(file_list[i])
print(result[j])
if file_list[i]==result[j]:
#print(j)
print(result[j])
#print(file_list[j])
io.imsave("C:/Users/Administrator/Desktop/B/"+result[j],coll[i])
- 实现方案二
# -*- coding: UTF-8 -*-
#!/usr/bin/env python
import sys
import re
from PIL import Image
sys.path.append('E:\\test')
#f1 = open('E:\CODE\TX\dir.txt','r')
#f2 = open('E:\CODE\TX\dir.txt','w+')
#for line in f1.readlines():
# if re.findall(' 1',line): #查找“空格1”的行 每行的格式000005 -1\n 000007
# f2.write(line)#把查找到的行写入f2.
#f1.close()
#f2.close()
#data = []
import numpy as np
data = []
for line in open("E:/test/image.txt", "r"): # 设置文件对象并读取每一行文件
data.append(line)
#print(data)
#f3 = open('E:\CODE\TX\dir.txt','r')
for a in data:
# print(a)
#line3=line2[:-4] #读取每行去掉后四位的数#
im = Image.open('E:/test/{}'.format(a[:-1]))#打开改路径下的line3记录的的文件名
im.save('E:/test/1/{}'.format(a[:-1])) #把文件夹中指定的文件名称的图片另存到该路径下
im.close()