Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PIL中的图像转换,pgm文件错误_Python_Image Processing_Python Imaging Library - Fatal编程技术网

Python PIL中的图像转换,pgm文件错误

Python PIL中的图像转换,pgm文件错误,python,image-processing,python-imaging-library,Python,Image Processing,Python Imaging Library,在PIL python库中尝试执行以下操作时: Image.open('Apple.gif').save('Apple.pgm') 代码在以下情况下失败: Traceback (most recent call last): File "/home/eran/.eclipse/org.eclipse.platform_3.7.0_155965261/plugins/org.python.pydev_2.6.0.2012062818/pysrc/pydevd_comm.py", line

在PIL python库中尝试执行以下操作时:

Image.open('Apple.gif').save('Apple.pgm')
代码在以下情况下失败:

  Traceback (most recent call last):
  File "/home/eran/.eclipse/org.eclipse.platform_3.7.0_155965261/plugins/org.python.pydev_2.6.0.2012062818/pysrc/pydevd_comm.py", line 765, in doIt
    result = pydevd_vars.evaluateExpression(self.thread_id, self.frame_id, self.expression, self.doExec)
  File "/home/eran/.eclipse/org.eclipse.platform_3.7.0_155965261/plugins/org.python.pydev_2.6.0.2012062818/pysrc/pydevd_vars.py", line 376, in evaluateExpression
    result = eval(compiled, updated_globals, frame.f_locals)
  File "<string>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 1439, in save
    save_handler(self, fp, filename)
  File "/usr/lib/python2.7/dist-packages/PIL/PpmImagePlugin.py", line 114, in _save
    raise IOError, "cannot write mode %s as PPM" % im.mode
IOError: cannot write mode P as PPM
工作


知道为什么吗?

您需要将图像转换为
RGB
模式才能正常工作

im = Image.open('Apple.gif')
im = im.convert('RGB')
im.save('Apple.pgm')

我认为这在这里会有所帮助:
PGM
是一种8位灰度PIL(格式),而GIF是一种8位调色板格式(模式“P”),因此您需要将其转换为普通格式。
im = Image.open('Apple.gif')
im = im.convert('RGB')
im.save('Apple.pgm')