2014-02-13 73 views
2

我打算使用PIL或scipy庫來打開和查看圖像(以及來自numpy和scipy的東西),但我無法有效地運行程序並使其工作。在互聯網上我遵循的每一件事給我一個不同的結果,這是讓我瘋狂通過cmd窗口在Python中打開圖像

首先,我已經安裝了WinPython。我討厭「spyder」和IPython接口,我寧願將我的代碼寫在Notepad ++上,然後在命令行上運行它。

如果我運行這一套的Spyder的界面上的命令,圖像在圖像查看器中打開:

from scipy import misc 
l = misc.lena() 
misc.imsave('lena.png',l) 
plt.imshow(l) 
plt.show() 

而且圖像:

enter image description here

我沒有最微弱的線索爲什麼它的顏色是這樣的,因爲原始圖像是灰度的,但一次只能有一個問題。

當我運行完全相同的程序(所有是Spyder的最初給進口後),同樣的圖像查看器中打開,但馬上閉合 ....


另一個教程。如果我在命令行運行這個代碼,默認的Windows 8圖片瀏覽器(我不希望)彈出並顯示圖像(正確的,不着色像上面的):

from PIL import Image, ImageFilter 

original = Image.open("lena.png") 
blurred = original.filter(ImageFilter.BLUR) 

original.show() 
blurred.show() 

互聯網根本沒有幫助我。所有的教程都使用IPython,我不習慣這些教程,並且每種教程都使用不同的方式打開和查看圖像。由於我是新,只是下面的教程,並有我在做什麼不實際的想法,我將不勝感激,如果有人可以幫助我,着眼於以下幾點:

  • 爲什麼CMD線圖像查看器打開和關閉,而在Spyder界面上它不?
  • 我該如何運行一個問題來簡單地查看一個簡單的圖像,而沒有這麼多頭痛?
  • 如何處理圖像(scipy,PIL,..),以及如何運行/編寫程序?

回答

2

misc.lena()文檔字符串的例子實際是:

>>> import matplotlib.pyplot as plt 
>>> plt.gray() 
>>> plt.imshow(lena) 
>>> plt.show() 

,其產生灰階圖像。

plt.gray()將默認顏色映射設置爲灰色,並將其應用於當前圖像(如果有)。


您的圖像關閉可能是因爲在程序運行並結束後,內存中沒有圖像對象了。試試吧「端」(簡單的方法是在末尾加一個raw_input('enter any key to close')線)


你的最後一個問題與pyplot和PIL如何顯示您的圖片後,相關的維護程序的運行。 Pyplot使用matplotlib,但PIL im.show()只是簡單地調用默認的系統圖像查看器來擴展它在存儲器中給圖像。該擴展可以通過將im.format更改爲您想要的圖像編輯器或查看器關聯的格式(p.e.「PNG」)。