Scipy Gaussian filter
1.利用 Scipy 的高斯濾波器進行影像的濾波(模糊化),事實上 OpenCV 也有這個功能:
高斯濾波器的原理等之後有空再為大家說明(抱歉~)
if __name__ == "__main__":
import numpy as np
from PIL import Image
from matplotlib import pyplot as plt
from scipy.ndimage import filters
from matplotlib.pylab import hist
pil_img = Image.open("lena.jpg").convert("L")
# plot original image and histogram
img = np.array(pil_img)
plt.subplot(221)
plt.axis("off")
plt.imshow(img, cmap="gray")
plt.subplot(222)
hist(img.flatten(), 64)
# plot blur image and histogram
img_blur = filters.gaussian_filter(img, 10)
plt.subplot(223)
plt.axis("off")
plt.imshow(img_blur, cmap="gray")
plt.subplot(224)
hist(img_blur.flatten(), 64)
plt.show()
模糊化的結果:
留言
張貼留言