我试图了解脚本的错误。我从一位同事那里继承了这个脚本,我试图让它在我的机器上工作。我在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处理某些图像文件而不是其他图像文件? 我能想到的图像文件的唯一区别是尺寸。
答案 0 :(得分:1)
我明白了。 skimage函数适用于8位图像文件,而我的文件适用于16位图像文件。 从
更改图像对象io.imread()
到tifffile函数
tiff.imread()
允许处理我的所有16位图像。一个初学者的错误,但我花了一些时间来记住库函数之间的差异。