擅长:python、mysql、java
<p>我也遇到了同样的问题,我测试了所有的答案,最后得到了错误的颜色。@我尝试过的所有矩阵在红色和黑色中都给出了错误的结果,所以我的解决方案是:</p>
<p>我发现的唯一方法是从图像读取配置文件并使用ImageCms进行转换。在</p>
<pre><code>from PIL import Image
from PIL import ImageCms
import tempfile
def is_adobe_rgb(img):
return 'Adobe RGB' in img.info.get('icc_profile', '')
def adobe_to_srgb(img):
icc = tempfile.mkstemp(suffix='.icc')[1]
with open(icc, 'w') as f:
f.write(img.info.get('icc_profile'))
srgb = ImageCms.createProfile('sRGB')
img = ImageCms.profileToProfile(img, icc, srgb)
return img
img = Image.open('testimage.jpg')
if is_adobe_rgb(img):
img = adobe_to_srgb(img)
# then do all u want with image. crop, rotate, save etc.
</code></pre>
<p>我认为这种方法可以用于任何颜色的轮廓,但不能测试。在</p>