为什么CSV值多于图片的尺寸?

时间:2018-10-19 17:25:30

标签: python csv image-processing export-to-csv pixel

我正在创建数据集中图像的csv文件。每个图像的尺寸为40 * 40像素,并且均为.jpg格式。 Python脚本如下:

for file in os.listdir("E:/ML project/10"):
    print(file)
    img_file = Image.open("E:/ML project/wiki/10/"+file)
    value = np.asarray(img_file, dtype='float32')
    value = value.flatten()
    value=value/255
    writer.writerow(value)

很少有图像具有超过1600个csv值。

enter image description here与这些图像相似的图像具有1600个值。这些是通过python脚本裁剪的。

enter image description here与之类似的图像具有1600个以上的值。是由于强制将其压缩为40 * 40吗?

我该如何解决?

1 个答案:

答案 0 :(得分:0)

您的第二个样本图像实际上是RGB图像,因此具有3 * 40 * 40的值。

一种解决方法是使用Image.convert()将其转换为灰度。实际上,您可以对所有非灰度图像执行相同的操作:

if img_file.mode != 'L':
    img_file = img_file.convert('L')

(顺便说一句,我会将变量名从img_file更改为img或类似的名称)