Python 中的 tifffile 不写 16 位 tiff
tifffile in Python not writing 16bit tiff
我查找了重复项,但不确定类似问题是否有答案...
我在 Python 中使用 tifffile 读取多页 tiff(16 位),获取第一个通道 page/channel,对其进行模糊处理并将其保存为 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 位,还是我必须使用其他方法?
您正在使用 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)
我查找了重复项,但不确定类似问题是否有答案...
我在 Python 中使用 tifffile 读取多页 tiff(16 位),获取第一个通道 page/channel,对其进行模糊处理并将其保存为 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 位,还是我必须使用其他方法?
您正在使用 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)