1. 程式人生 > >新手學NumPy

新手學NumPy

新手學NumPy

今日錯誤

**未選用utf-編碼**SyntaxError: Non-ASCII character ‘\xe8’ in file
解決方法開頭加上#encoding:tf-8
關於sys.argv 其實和c++中控制檯輸入輸出帶引數差不多,sys模組的簡單介紹可參考sys模組

初學python純手工敲入書上程式碼,今日是第一次適應程式碼,希望能從今後慢慢手敲程式碼中逐步對python熟悉,一年後希望能有一萬行的程式碼量 加油
ps:馬克飛象真是個好東西

__author__ = 'guoguo'
#encoding:utf-8
import
scipy.misc import sys import matplotlib.pyplot import numpy.testing #這個指令碼用來調整scipy庫中lena的大小 if(len(sys.argv)!=3):#Sys.argv[]是用來獲取命令列引數的,sys.argv[0]表示程式碼本身檔案路徑 print "usage python %s yfactor" %(sys.argv[0]) sys.exit() #載入lena到一個數組 lena=scipy.misc.lena() LENA_X=512 LENA_Y=512 #檢查lena的形狀 為何要這一步??
numpy.testing.assert_equal((LENA_X,LENA_Y),lena.shape) #獲取調整係數 yfactor=float(sys.argv[1]) xfactor=float(sys.argv[2]) #調整lena的大小 resized=lena.repeat(yfactor,axis=0).repeat(xfactor,axis=1) #檢查調整後陣列的形狀? 為何要檢查 numpy.testing.assert_equal((yfactor*LENA_Y,xfactor*LENA_X),resized.shape) #繪製lena matplotlib.pyplot.subplot(211
)#繪製的時候輸入一個三位數的整數 最高位為行數 此高位為列數 最後一位為位置索引 matplotlib.pyplot.imshow(lena) matplotlib.pyplot.subplot(212)#繪製的時候輸入一個三位數的整數 最高位為行數 此高位為列數 最後一位為位置索引 matplotlib.pyplot.imshow(resized) matplotlib.pyplot.show()#show 函式用來顯示最終的結果

重要函式
numpy.testing.assert_equal((LENA_X,LENA_Y),lena.shape) #用來檢查圖片大小 是不是520*520
matplotlib.pyplot.subplot(211)#繪製的時候輸入一個三位數的整數 最高位為行數 此高位為列數 最後一位為位置索引
matplotlib.pyplot.imshow(lena)
matplotlib.pyplot.show()#show 函式用來顯示最終的結果
這裡寫圖片描述