1、加载模块:import Zftimport cv2import numpy as np其中,cv2也可以用别的图像处理模块代替,比如imageio。
2、以灰度图的模式,读取图片数据:img=cv2.imread('0.jpg',0)确定图片的像素尺寸:u,v=img.shape[:2]给出一个卷积内核,这个内核是3阶平均内核:kernel=np.array([1]*3**2)/3**2根据内核大小,扩充图片的边界:pic=np.zeros((u+2,v+2))pic[1:-1,1:-1]=img
3、开始进行卷积处理。...代码中的a是一个9阶向量,kernel也是一个9阶向量,这俩向量可以进行点乘,得到一个具体的数值,来代替原图相应位置的像素。
4、保存的图片如下,看起来有一点模糊的效果了。
5、但是我们有可能会使用别的卷积内核,比如5阶平均内核:kernel=np.array([1]*5**2)/5**2因此,我们需要把这个卷积的过程包装成一个函数,要求它可以适用于任何选定的卷积内核。
6、看看7阶平均内核的模糊效果。