2016-08-09 7 views
1

に16Bの画像を私はタイプI;16Bの3つのイメージを持っていると私は正しくPIL経由Pythonにそれらを読んでいます:これは、データがI;16Bであることを私に示して3 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つの異なる画像(1チャンネルにつき1つ)として読んでください。これらの3つのチャンネルを1つの画像に結合し、出力として.tifファイルを書き込むにはどうすればよいですか?

答えて

0

今のところ、枕はチャンネルごとに8ビット以上のマルチチャンネル画像をサポートしていません。すべての画像を「L」モードに変換し、Image.merge()と一緒にマージすることができます。

関連する問題