2016-08-09 3 views
1

로 (16B)의 이미지를 I 형 I;16B의 3 개 이미지를 가지고 있고 제대로 PIL를 통해 Python로를 읽고있다 : 이것은 데이터가 I;16B 것을 나에게 보여세 가지 I 변환, 하나 개의 이미지

#!/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 

하지만 난에 데 3 개의 서로 다른 이미지 (채널당 하나씩)로 읽으십시오. 이 3 개의 채널을 하나의 이미지로 결합하고 .tif 파일을 출력으로 작성하려면 어떻게해야합니까?

답변

0

현재로서는 베개가 채널 당 8 비트 이상인 다중 채널 이미지를 지원하지 않습니다. 모든 이미지를 'L'모드로 변환하고 Image.merge()과 함께 병합 할 수 있습니다.

관련 문제