Python中的tifffile没有写16bit tiff

时间:2015-10-05 06:46:32

标签: python image-processing tiff

我看过重复,但我不确定类似的问题是否有答案......

我在Python中使用tifffile读取多页tiff(16位),取第一个频道页面/频道,模糊它并将其保存为16位tiff。

import os
import matplotlib.pyplot as plt
import tifffile as tiff
from scipy import misc

tiff_list = []

for i in files_list[0]:
    tiff_list.append(tiff.imread('/filepath_to_tiff_folder/'+i))

blurred_list = []

for i in tiff_list:
    blurred_list.append(ndimage.gaussian_filter(i[0], sigma=3))

for i,v in enumerate(blurred_list):
    misc.imsave('/filepath/testblur2/'+str(files_list[0][i])+'_Brightfield_Blur.tif', v)

这里,files_list只是tiff文件名的列表。

以上代码对于模糊和保存tiff非常合适,但它将其保存为8位。

上面有什么我可以添加以保持16位或者我必须使用其他方法吗?

1 个答案:

答案 0 :(得分:3)

您正在使用scipy而不是tifffile来保存图像。

使用tifffile.imsave保存16位图像,例如:

from glob import glob
from scipy import ndimage
from tifffile import imread, imsave

for filename in glob('*.tif'):
    i = imread(filename)
    i = ndimage.gaussian_filter(i[0], sigma=3)
    imsave('blurred_' + filename, i)