python - 将图像文件转换为 CSV 时如何添加标签?
问题描述
我在看 Kaggle 上的深度学习指南。我练习了几个模型,我的测试数据存储在带有标签名称的目录中(即 TestData\Top 和 TestData\Bottom 用于训练图像以创建一个可以区分感兴趣项目的顶部和底部的模型)。
但是,对于创建自己的模型( https://www.kaggle.com/dansbecker/deep-learning-from-scratch )的本课,数据需要存储在 CSV 文件中,第一列作为标签。我有这段代码将图像转换为灰度和 CSV 文件并获取标签:
from PIL import Image
import numpy as np
import sys
import os
import csv
import glob
from os import path
TestPath = 'C:\...\outgoingbank'
Labels = []
myFileList = []
for files in os.listdir(TestPath):
Labels.append(files)
os.chdir(TestPath)
for images in os.listdir(files):
fullName = os.path.join(files, images)
myFileList.append(fullName)
print (Labels)
print(myFileList)
for file in myFileList:
print(file)
Label = file.split('\\')
Label = Label[0]
print (Label)
img_file = Image.open(file)
# get original image parameters...
width, height = img_file.size
format = img_file.format
mode = img_file.mode
# Make image Greyscale
img_grey = img_file.convert('L')
value = np.asarray(img_grey.getdata(), dtype=np.int).reshape((img_grey.size[1], img_grey.size[0]))
value = value.flatten()
print(value)
with open("C:\...\img_pixels.csv", 'a') as f:
writer = csv.writer(f)
writer.writerow(value)
所以我有标签和图像,以及将图像转换为 CSV 的代码,但我如何将标签插入第一行?另外,是否可以不将它们转换为灰度?(我试过但尺寸错误)
编辑:我能够通过以下方式添加标签:
Test = []
Test.append(Label)
for i in value:
Test.append(i)
#print(Test)
with open("C:\...\img_pixels.csv", 'a') as f:
writer = csv.writer(f)
writer.writerow(Test)
但我仍然不明白为什么这段代码只写入每隔一行,我该如何解决?
解决方案
推荐阅读
- mbed - 我可以将简易连接库与 Roving Network XV Wifi 模块一起使用吗?
- python - python SELECT COLUMN FROM TABLE WHERE COLUMN = self.variable
- html - CSS 流体视频
- c++ - GetModuleHandle() 无法检索“notepad.exe”加载的“advapi32.dll”句柄
- python - 来自串行的高延迟
- spring - 使用 Kotlin 在 Spring 中注入组件的最佳方法
- linux - 如何在远程机器上 ssh 时在 lua 脚本中自动提供密码
- php - 在 PHP 中验证 GET 请求
- node.js - 从任何格式到所需格式的漂亮打印
- css - 原子中的CSS自动前缀,如何设置选项?