编译环境
由于编程语言选择Python,所以博主用的编译器为PyCharm 2017
前提
岗萨勒斯第三版的数字图像处理中,介绍到空间滤波器模板,为了实现任意模板的滤波,例如3×3或5×5的均值滤波和3×3或5×5的高斯滤波,以及任意数值的空间滤波模板,用python语言在PyCharm中编写了如下代码。
代码
此次例中中采用的是5×5,sigma=1.4的高斯滤波模板,模板设置如下:
代码如下
import cv2
from pylab import *
def GeneralFilter(Image,a): #输入图像Image,模板a
im=array(Image)
dim=math.sqrt(len(a)) # 模板的维度dim
w=im.shape[0] # 计算输入图像的宽高
h=im.shape[1]
b=[] # 待处理的与模板等大小的图像块,分BGR通道
g=[]
r=[]
for i in range(int(dim/2),w-int