When trying to do the following in the PIL python library:
Image.open('Apple.gif').save('Apple.pgm')
the code fails with:
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
The code works fine with conversion to BMP, but JPG also fails. Strange thing is, a different file(JPG to PGM), works ok.
Other format conversion. That is:
Image.open('Apple.gif').save('Apple.bmp')
works.
Any idea why?
You need to convert the image to RGB
mode to make this work.
im = Image.open('Apple.gif')
im = im.convert('RGB')
im.save('Apple.pgm')
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With