我正在尝试使用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(),但仍然会返回相同的错误。
答案 0 :(得分:0)
虽然您可以使用PIL打开并显示16位tiff,但ImageChops不起作用。 matplotlib和scipy有更多可用的工具。
另外im3 = Image.open(os.path.join(directoryname,file))需要是Image.open(unicode(os.path.join(directoryname,file)))