我正在研究“日本女性面部表情(JAFFE)”数据库。您可以在此链接http://www.kasrl.org/jaffe.html 上找到数据库。 当我下载数据库时,我得到了一张图片列表。我想将这些图像文件转换为CSV文件,但是我对深度学习还是陌生的,我也不知道该怎么做。有人建议我使用OpenCV。我该怎么办?
答案 0 :(得分:0)
我有一个简单的例子 希望对您有帮助。
from PIL import Image
import numpy as np
import sys
import os
import csv
def createFileList(myDir, format='.jpg'):
fileList = []
print(myDir)
for root, dirs, files in os.walk(myDir, topdown=False):
for name in files:
if name.endswith(format):
fullName = os.path.join(root, name)
fileList.append(fullName)
return fileList
# load the original image
myFileList = createFileList('path/to/directory/')
for file in fileList:
print(file)
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("img_pixels.csv", 'a') as f:
writer = csv.writer(f)
writer.writerow(value)
答案 1 :(得分:0)
安装枕头,numpy,熊猫
示例工作代码如下
from PIL import Image
from numpy import array, moveaxis, indices, dstack
from pandas import DataFrame
image = Image.open("data.tiff")
pixels = image.convert("RGB")
rgbArray = array(pixels.getdata()).reshape(image.size + (3,))
indicesArray = moveaxis(indices(image.size), 0, 2)
allArray = dstack((indicesArray, rgbArray)).reshape((-1, 5))
df = DataFrame(allArray, columns=["y", "x", "red","green","blue"])
print(df.head())
df.to_csv("data.csv",index=False)
答案 2 :(得分:0)
您无需编写任何代码,只需在macOS,Linux或Windows的命令行上使用vips。
因此,在终端(或命令提示符,如果在Windows中):
vips im_vips2csv TM.AN1.190.tiff result.csv
将256x256灰度图像TM.AN1.190.tiff
转换为256行CSV,每行256个条目。简单!
如果要用逗号替换制表符分隔符,可以执行以下操作:
tr '\t' , < result.csv > NewFile.csv