一、概念 上一篇文章介绍了如何创建图片以及图片标签的csv文件,这一篇来说一下如何读取csv文件。 在使用Tensorflow时,可以一边处理数据,一边根据csv文件读取图片,防止一次性读入过多数据造成资源耗光。 二、思路 使用readines函数从csv文件中循环读取一条条记录,将读取到的地址和标签分别放置于两个不同的列表中。 三、代码实现
image_list = []
label_list = []
with open('train_list.csv) as fid:
for image in fid.readlines():
image_list.append(image.strip().split(',')[o])
label_list.append(image.strip().split(',')[1])
通过上述代码,图片地址和标签已经存储到了相应的列表中,剩下的就是根据实际情况进行下一步操作。比如,根据地址读取图片,读取图片代码如下:
img = cv2.imread(image_list[0])
img = cv2.resize(img, (224, 224))
cv2.imshow('img',img)
cv2.waitKey()
又比如将其转换为Tensor,做为模型的输入,代码如下:
img = tf.image.convert_image_dtype(tf.image.decode_jpeg(image_list[0], channels=3), dtype=tf.float32)
print(img)
可见,此时已经是tensor类型了。