我有3张I;16B
类型的图片,我正在通过Python
正确地将其读入PIL
:
#!/usr/bin/en python
import sys
from PIL import Image
mode2bpp = {'1':1, 'L':8, 'P':8, 'RGB':24, 'RGBA':32, 'CMYK':32, 'YCbCr':24, 'I':32, 'F':32}
if __name__=="__main__":
print "Working!"
basedir = sys.argv[1]
imname = sys.argv[2]
Rc = sys.argv[3]
Gc = sys.argv[4]
Bc = sys.argv[5]
Zstack = sys.argv[6]
Rtif = basedir+"/"+imname+"-"+Rc+"/Data-"+Rc+"-Z"+Zstack+".tif"
Gtif = basedir+"/"+imname+"-"+Gc+"/Data-"+Gc+"-Z"+Zstack+".tif"
Btif = basedir+"/"+imname+"-"+Bc+"/Data-"+Bc+"-Z"+Zstack+".tif"
Rim = Image.open(Rtif)
Gim = Image.open(Gtif)
Bim = Image.open(Btif)
print Rim
print Rim.mode
这告诉我数据是I;16B
,但我必须将它们读作3个不同的图像(每个通道一个)。我应该如何将这3个通道组合成一个图像并将.tif
文件作为输出?
答案 0 :(得分:0)
目前,Pillow不支持每通道超过8位的多通道图像。您只能将每张图片转换为' L'模式并将它们与Image.merge()
合并在一起。