圖像導數
/*
python計算機視覺——圖像導數
2017.04.28
*/
from PIL import Image
from numpy import *
from scipy.ndimage import filters
imo = Image.open(r'C:/Users/BInZhuang/Desktop/1.jpg')
im = array(Image.open(r'C:/Users/BInZhuang/Desktop/1.jpg').convert('L'))
sigma = 5
imx = zeros(im.shape)
filters.gaussian_filter(im,(sigma,sigma),(0,1),imx)
imy = zeros(im.shape)
filters.gaussian_filter(im,(sigma,sigma),(1,0),imy)
magnitude = sqrt(imx**2 + imy**2)
theta = (cos(imy/imx)/sin(imy/imx))
imsave('im.jpg',im)
imsave('imx.jpg',imx)
imsave('imy.jpg',imy)
imsave('imxy2.jpg',magnitude)
imsave('imxy.jpg',theta)
figure()
gray()
subplot(1,5,1)
imshow(im)
axis('equal')
axis('off')
subplot(1,5,2)
imshow(imx)
axis('equal')
axis('off')
subplot(1,5,3)
imshow(imy)
axis('equal')
axis('off')
subplot(1,5,4)
imshow(magnitude)
axis('equal')
axis('off')
subplot(1,5,5)
imshow(theta)
axis('equal')
axis('off')
show()