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(目录名,文件))。

我也尝试使用 glob.glob(),但仍然返回相同的错误。

4

1 回答 1

0

While you can open and show 16 bit tiffs with PIL, ImageChops doesn't work. matplotlib and scipy have many more tools available.

Also im3 = Image.open(os.path.join(directoryname, file)) needs to be Image.open(unicode(os.path.join(directoryname, file)))

于 2013-01-22T08:05:01.230 回答