0

ImageChopsを使用してディレクトリ内のすべての.tiffファイルを一緒に追加しようとしていますが、「IOError:画像ファイルを識別できません」というエラーが発生し続けます。画像オブジェクトの代わりにファイルパスを使おうとすると問題だと思いましたが、他の場所の同様のコードではこの問題は発生しません。

def imadd():  #subcommand
    img1=Image.new('RGB',(2048, 2048))
    img1.save("summation.tif")
    for file in os.listdir(directoryname):
        if fnmatch.fnmatch(file, '*.tif'):
           im2 = Image.open("summation.tif", mode='r')
           im3 = Image.open(os.path.join(directoryname, file))
           finalimg = ImageChops.add(im2, im3, 1, 0)
           finalimg.save("summation.tif") 

証跡とエラーにより、以下を除くすべての部品が機能します。

im3 = Image.open(os.path.join(directoryname、file))。

glob.glob()も使用してみましたが、それでも同じエラーが返されます。

4

1 に答える 1

0

PILを使用して16ビットのtiffを開いて表示することはできますが、ImageChopsは機能しません。matplotlibとscipyには、さらに多くのツールがあります。

また、im3 = Image.open(os.path.join(directoryname、file))はImage.open(unicode(os.path.join(directoryname、file)))である必要があります

于 2013-01-22T08:05:01.230 に答える