【发布时间】:2020-09-16 11:08:17
【问题描述】:
我在保存 tiff 文件(堆栈灰度)时遇到一个奇怪的错误,知道吗?:
文件 "C:\Users\ptyimg_np.MT00200169\Anaconda3\lib\site-packages\tifffile\tifffile.py", 第 1241 行,保存中 sampleformat = {'u': 1, 'i': 2, 'f': 3, 'c': 6}[datadtype.kind] KeyError: 'b'
我的代码是
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from skimage.morphology import watershed
from skimage.feature import peak_local_max
from scipy import ndimage
from skimage import img_as_float
from skimage import exposure,io
from skimage import external
from skimage.color import rgb2gray
from skimage.filters import threshold_local , threshold_niblack
import numpy as np
import tifffile
from joblib import Parallel, delayed
import sys
# Load an example image
input_namefile = sys.argv[1]
output_namefile = 'seg_'+ input_namefile
#Settings
block_size = 25 #Size block of the local thresholding
img = io.imread(input_namefile, plugin='tifffile')
thresh = threshold_niblack(img, window_size=block_size , k=0.8) #
res = img > thresh
res = np.asanyarray(res)
print("saving segmentation")
tifffile.imsave(output_namefile, res , photometric='minisblack' )
【问题讨论】:
-
失败的 tifffile 版本是什么?我无法使用最新版本 2020.5.25 重现此内容。
-
@cgohlke 是的,在最新版本中,dict 访问由
if bilevel and not datadtype.kind == 'u':保护,所以你不要点击它。
标签: save tiff scikit-image