2014-10-20 58 views
-1

我在Ubuntu上使用Python 2.7,並且在開始爲我的算法類分配之前正在嘗試使用圖像。我已經下載了numpy,scipy和skimage軟件包,並且不斷收到'imread''標題'的錯誤,並且這些內置函數未定義。任何想法可能是錯的?Python不會識別'imread'函數

from pylab import * 
    from skimage import img_as_float 

    img = imread(‘someimage.png’) 
    img = img_as_float(img) 
    w, h = img.shape[:2] 
    R = img[:,:,0] 
    G = img[:,:,1] 
    B = img[:,:,2] 
    figure() 
    gray() 
    subplot(1,4,1); imshow(img); title(「RGB」) 
    subplot(1,4,2); imshow(R); title(「Red」) 
    subplot(1,4,3); imshow(G); title(「Green」) 
    subplot(1,4,4); imshow(B); title(「Blue」) 
    show() 
+2

我認爲你應該安裝Python Imaging Library(PIL)。檢查:: http://www.pythonware.com/products/pil/ – user3378649 2014-10-20 03:15:28

+0

我試圖下載使用sudo pip安裝PIL。 說沒有發現分配。 – 2014-10-20 03:30:38

+0

試過sudo apt-get install python-imaging。 它已經在那裏。 – 2014-10-20 03:44:33

回答

1

imread函數從哪裏導入?您可以輕鬆查看導入庫中的所有功能。請參閱:http://stackoverflow.com/questions/139180/listing-all-functions-in-a-python-module

如果您正在尋找SciPy的imread,您必須沿着這些線...

from scipy.misc import imread 
... 
img = imread(‘someimage.png’) 

from scipy import misc 
... 
img = misc.imread('someimage.png') 

import scipy 
... 
img = scipy.misc.imread(‘someimage.png’) 

Python沒有天生知道什麼標題功能或imrea d函數/方法沒有明確說明。導入需要你導入每個函數/類/庫等範圍。 https://docs.python.org/3/reference/import.html

此外 - 第一條評論是正確的。您需要安裝PIL才能使用imread功能。

+0

我試過這樣做!從scipy.misc導入imread。仍然無法工作。 – 2014-10-20 03:26:27

+0

什麼不行? imread函數是否顯示爲undefined或其他函數?你得到了什麼確切的錯誤? – 2014-10-20 03:30:13

+0

是的。他們以未定義的名字出現。 imread title imshow subplot。 – 2014-10-20 03:32:42

3

嘗試增加:

from skimage.io import imread 

你的進口。

+0

試過了。仍然會出現未定義的名稱錯誤。 – 2014-10-20 03:35:19

+1

@AveeshaSharma:如果你嘗試了這個明顯的事情,那麼你爲什麼不在你的問題中說這個? – tom10 2014-10-20 03:37:17

+0

對不起。 Pylab從numpy,scipy和skimage中導入函數。所以我沒有意識到我必須從skimage.io導入imread明確提及。 通過嘗試我的意思,我在閱讀你的文章後嘗試過。沒有工作。 – 2014-10-20 03:44:01