我有an image。我想用PIL调整它的大小,但它出来了 like this。
即使没有调整大小,它仍然是messes up the colour。
最小代码:
from PIL import Image
import os
import urllib
import webbrowser
orig_url = 'http://mercedesclub.org.uk/images/stackoverflow-question/least-popular-colours-_-500-x-500.jpg'
temp_fn, _ = urllib.urlretrieve(orig_url)
im = Image.open(temp_fn)
fn = os.tempnam() + '.jpg'
im.save(fn)
webbrowser.open(fn)
我已尝试将Image.open(temp_fn).convert(format)
与'RGB','CMYK'和'L'作为格式,但仍会获得奇怪的颜色或灰色效果。
当我从硬盘加载图像时,我可以看到:
>>>im.info
{'adobe': 100,
'progression': 1,
'exif': 'Exif\x00\x00MM\x00*...\x7f\xff\xd9',
'adobe_transform': 100}
>>>im.format
'JPEG'
>>>im.mode
'CMYK'
>>> im._getexif()
{40961: 65535, 40962: 500, 40963: 500, 296: 2, 34665: 164, 274: 1, 305: 'Adobe Photoshop CS Macintosh', 306: '2010:02:26 12:46:54', 282: (300, 1), 283: (300, 1)}
谢谢,如果您需要更多数据,请告诉我。
答案 0 :(得分:4)
在interjay的链接之后,通过升级到PIL 1.1.7来解决问题。这包括an update以允许Photoshop创建的CMYK jpeg正常工作。但不要责怪PIL,Fredrik Lundh puts it:
“JPEG中的CMYK是一个大混乱,主要是因为多年前Adobe在Photoshop中弄错了。”
顺便说一句,您可以通过以下方式找到您所拥有的PIL版本:
>>> Image.VERSION
'1.1.7'
更新:要在IE中显示生成的图像,您需要添加.convert('RGB')
,以便输出标准的jpeg RGB格式,而不是CMYK。
答案 1 :(得分:2)
PIL似乎在加载一些CMYK格式的JPEG文件时出现问题。如果您可以将图像转换为更常用的颜色格式(使用其他工具),它将有所帮助。
发布了here的PIL补丁,但我还没试过。
答案 2 :(得分:1)
当原始图像以CMYK模式保存时,我遇到了类似的问题。在使用PIL进行处理之前,我不得不用RGB重新保存图像。
答案 3 :(得分:0)
如果您有Photoshop,则强烈建议您编辑颜色设置。如果图像颜色配置文件不匹配或丢失,可以切换它们以发出警告。
请点击此处了解如何进行设置:http://www.flickr.com/photos/kaichanvong/5979227438/in/photostream
今天有一个有趣的,因为图像没有附加颜色配置文件,并且认为它是在CMYK中 - 照片会变成反色。
最初没有在Lion上注意到这一点 - 但在iPad /其他机器上显而易见。很奇怪。
如果启用了不匹配/缺少配置文件选项,则可以告诉Photoshop添加默认版本。我意识到批处理这不是最终解决方案......但它应该有助于你更好地理解问题。
在这种情况下转换为RGB不是一种选择,因为颜色不能正确复制 - 例如。放射性绿巨人像绿色