2017-03-31 51 views
0

我想了解腳本的錯誤。我從一位同事那裏繼承了這個腳本,並試圖讓它在我的機器上運行。我在Python3.3.5中運行它,並且如果在.tif文件上執行一些測量功能。這些模塊列表我打電話io.imread讀取一些.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在某些圖像文件上工作,但不是其他人? 我能想到的圖像文件之間的唯一區別是大小。

回答

1

我想通了。 skimage函數適用於8位圖像文件,而我的文件適用於16位。 從

io.imread() 

改變圖像對象到tifffile功能

tiff.imread() 

允許的所有我的16位圖像,以進行處理。初學者的錯誤,但是我花了一些時間來記住這些庫函數之間的差異。