我在将单页pdf(CMYK)转换为jpg(RGB)时遇到问题。当我使用下面的代码时,jpg图像中的颜色很鲜艳。我试过阅读魔杖文档,但没有找到任何简单复制原始图像的东西。官方的ImageMagick文档本身对我来说仍然是不透明的。对于我的情况,有必要在python脚本中执行此操作。
以下是相关的代码段。
d1 <- do.call(rbind, l)
split(d1, d1$name)
如何准确地从CMYK转换为RGB?
更新:以下是示例pdf及其转换输出的链接。
答案 0 :(得分:5)
如果图像检测到图片处于RGB
模式,此脚本会将图片转换为CMYK
并将其保存在原位:
from PIL import Image
image = Image.open(path_to_image)
if image.mode == 'CMYK':
image = image.convert('RGB')
答案 1 :(得分:0)
最后我解决了这个问题。 必须反转包含在PDF中的CMYK模式JPG图像。
但是在PIL中,不支持反转CMYK模式图像。 比我用numpy解决它。
完整来源位于以下链接中。 https://github.com/Gaia3D/pdfImageExtractor/blob/master/extrectImage.py
见第166~170行。
imgData = np.frombuffer(img.tobytes(), dtype='B')
invData = np.full(imgData.shape, 255, dtype='B')
invData -= imgData
img = Image.frombytes(img.mode, img.size, invData.tobytes())
img.save(outFileName + ".jpg")