空间域图像增强之基础
1.空间域滤波
对于一个大小为m×n的模板,其中m=2a+1,n=2b+1,a、b均为正整数,即模板长与宽均为奇数(偶数尺寸的模板不具有对称性),可将相关滤波操作用数学表达式表示为:
g(x,y)=∑s=−aa∑t=−bbw(s,t)f(x+s,y+t)
举个例子:
用3×3模板来求图中“10”经模板处理后得到的g点的值。
此外还有卷积滤波,卷积滤波操作可表示为:
g(x,y)=∑s=−aa∑t=−bbw(−s,−t)f(x+s,y+t)
2.Matlab中的相关滤波函数
①滤波函数imfilter()
g=imfilter(f,w,option1,option2,…);
参数说明:
f:要进行滤波操作的图像
w:滤波操作使用的模板
option1,option2,..:可选项,包括:边界选项,尺寸选项和模式选项。
(1)边界选项
合法值 | 含义 |
---|---|
x(代表一个具体的数字) | 用固定数值x填充虚拟边界,默认值为0 |
‘symmetric’ | 填充虚拟边界的内容是通过对靠近原图像边缘的像素相对于原图像边缘镜像而得到 |
‘replicate’ | 填充虚拟边界的内容总是重复与它最近的边缘像素 |
‘circular’ | 认为原图像模式具有周期性,从而周期性地填充虚拟边界的内容 |
(2)尺寸选项
合法值 | 含义 |
---|---|
‘same’ | 输出图像g与输入图像f尺寸相同 |
‘full’ | 输出图像g的尺寸为填充虚拟边界后的图像f’的尺寸,因而大于f的尺寸 |
(3)模式选项
合法值 | 含义 |
---|---|
‘corr’ | 滤波过程为相关 |
‘conv’ | 滤波过程为卷积 |
②创建预定义的二维滤波器函数fspecial()
h=fspecial(type,parameters);
参数说明:
type:指定滤波器的类型,部分合法值如下:
合法值 | 含义 |
---|---|
‘average’ | 平均模板 |
‘disk’ | 圆形邻域的平均模板 |
‘gaussian’ | 高斯模板 |
‘sobel’ | Sobel水平边缘检测算子 |
可选项parameters与选定的type有关,例如:h=fspecial(‘gaussian’,hsize,sigma);返回一个大小为hsize,标准差 σ =sigma的高斯低通滤波器。