将.pgm文件转换为python中的csv文件,

时间:2018-11-06 23:53:26

标签: python csv pgm

我需要找出如何在python中将.pgm文件转换为.csv文件的方法。我学习Python已有2 1/2周,所以如果有人帮助您,请记住我的知识不足。我在Windows 10上使用Pycharm。

这是我坚持的代码。我正在尝试打开pgm文件并将其保存到空数组中,将其打印出来以检查其是否具有正确的值,然后将其另存为csv文件,以在神经网络上使用它。这里是文件的内容。

await connectorClient.Conversations.SendConversationHistoryAsync(activity.Conversation.Id, transcript, cancellationToken: cancellationToken);

2 个答案:

答案 0 :(得分:0)

不要重新发明轮子,使用枕头加载图像,然后将其转换为numpy数组:

import numpy as np
from PIL import Image

im = np.array(Image.open('pgmDataSet/40157883_11_2.pgm'))

现在打印im.shape,然后离开...

答案 1 :(得分:0)

您的PGM文件对我来说似乎不正确。您将其显示为:

P2
# Created by GIMP version 2.10.6 PNM plug-in
20 20
2552552552552552552550255........255 or 0 black and white hand drawn

但这不是有效的PGM / P2文件。除了指定宽度和高度(在这里我假设为20,20)之外,您还需要指定最大灰度值(看起来是255)。

不仅如此,而且根据http://netpbm.sourceforge.net/doc/pgm.html,每个像素值必须在其前后都有空格。空格不是可选的。

因此,您的PGM文件应类似于:

P2
# Created by ...
20 20 255
255 255 255 255 255 255 255 0 255 ........ 255

在您解决此问题(格式错误的PGM文件)之前,我怀疑是否会有很多库会打开并读取您的.pgm文件。

因此,请解决您的.pgm问题,看看是否对其余问题没有帮助。