Python自帶卷積計算Scipy.signal與numpy

from PIL import Image
from scipy import signal
H=array([[-1,0,1],[-2,0,2],[-1,0,1]])
im1=array(Image.open('Material/lena.jpg').convert('L'))
im2=signal.fftconvolve(im1,H,"same")
gray()
imshow(im2)
show()


# scipy.signal.fftconvolve與scipy.signal.convolve兩個均可實現對自定的卷積核H進行二維卷積計算
# 第三個參數"same"表示相同大小,還有"full"等,具體差別可自行實踐

# 二維的卷積運算還有signal.sepfir2d(),可以傳入三個參數,後兩個參數制定行和列的卷積和(兩個方向上的卷積是可以不同的,分別制定卷積和序列)。

from scipy import ndimage
from PIL import Image
H=array([[-1,0,1],[-2,0,2],[-1,0,1]])
im1=array(Image.open('Material/lena.jpg').convert('L'))
im3=ndimage.affine_transform(im1,H[:2,:2],(H[0,2],H[1,2]))
gray()
imshow(im3)
show()

# 通過scipy.ndimage.affine_transform可以實現圖像的仿射變換
# 第一個參數代表處理的圖像即原圖像,第二個參數是旋轉矩陣2by2,第三個參數是平移(縱向,橫向)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章