我的 tiff 图像以这样一种方式存储,即我将每个平面(颜色)存储在一个单独的文件中。每个文件(C、M、Y、K)都是一个大块的 tiff,存储为每像素 8 位的单色文件。
我想使用 python 成像库(PIL)将这 4 个文件组合成一个 CMYK 彩色 tiff
这是我到目前为止的代码,但产生的输出 tiff 不正确,tiff 被组合成一个主要是黑色的文件。我已将这些文件与另一个实用程序合并,结果是正确的,所以我知道输入文件没有问题。
这是我到目前为止的代码:
if len(sys.argv) <= 1:
print "ERROR: Usage !"
exit(1)
try:
cFile = str(sys.argv[1])+"Cyan.tif"
mFile = str(sys.argv[1])+"Magenta.tif"
yFile = str(sys.argv[1])+"Yellow.tif"
kFile = str(sys.argv[1])+"Black.tif"
print "Opening files:"
print cFile
print mFile
print yFile
print kFile
c_img = Image.open(cFile)
c_img = c_img.convert("L")
m_img = Image.open(mFile)
m_img = m_img.convert("L")
y_img = Image.open(yFile)
y_img = y_img.convert("L")
k_img = Image.open(kFile)
k_img = k_img.convert("L")
except Exception, e:
print "ERROR: Unable to open file..."
print str(e)
exit(1)
try:
mergedRaster = Image.merge('CMYK', (c_img, m_img, y_img, k_img))
mergedRaster = mergedRaster.convert("CMYK")
except Exception, e:
print "ERROR: Merging plates"
print str(e)
exit(0)
#exit(0)
try:
mergedRaster.save("output.tif", format="TIFF")
except Exception, e:
print "ERROR: Writing tiff"
注意:我在没有任何 .convert 函数的情况下做了同样的事情,发现结果是一样的。