0

我试图理解脚本的错误。我从一位同事那里继承了脚本,并试图让它在我的机器上运行。我在 Python3.3.5 中运行它,如果在.tif文件上执行一些测量功能。这些是我调用的模块列表

import matplotlib, copy, skimage, mahotas, os, tifffile
from skimage import io, filter, morphology, draw
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image

该脚本在我想要的.tif文件上调用 io.imread 函数的行中断并引发错误。

‘OSError: cannot identify image file’

但是,当我更改脚本以打开不同的 tif 图像文件路径时,它可以工作。我没有包含我的代码,因为这似乎是我的 python 设置的问题?当我尝试使用 Python27 运行它时出现更多错误。它可能与我正在使用的模块不兼容?是否有人对可能导致 io.imread 处理某些图像文件而不处理其他图像文件有任何线索?我能想到的图像文件之间的唯一区别是大小。

4

1 回答 1

2

我想到了。skimage 函数适用于 8 位图像文件,而我的文件适用于 16 位。将图像对象从

io.imread()

到 tifffile 函数

tiff.imread()

允许处理我所有的 16 位图像。初学者的错误,但我花了一点时间才记住库函数之间的那些差异。

于 2017-03-31T16:14:43.433 回答