背景
空间域:指图像平面本身,直接对图像像素进行操作
表达式:g(x,y)=T【f(x,y)】,其中T是在点(x,y)的一个指定邻域上定义的对图像f进行处理的算子,g(x,y)为输出图像,f ( x,y)为输入图像
两类重要的空间域处理方法:
亮度(灰度)变换、空间滤波(领域处理或空间卷积)
灰度变换函数
亮度和灰度在单色图像的定义中可以换用,但在彩色图像中,
亮度
用于表示某些色彩空间中的一个彩色图像分量
邻域大小为1*1(一个单独的像素)时,(x,y)处的g值仅有f在该点处的灰度决定,T也变为一个亮度或灰度变换函数,s=T(r),其中r表示图像f中相应点(x,y)的灰度,s 表示图像g中(x,y)的灰度
函数imadjust:对灰度级图像进行灰度变换,格式
g = imadjust (f , 【low_in high_in】 , 【low_out high_out】, gamma)
将图像f中的灰度值映射为图像g中的新值,即将low_in至high_in之间的值映射到low_out至high_out之间
输入图像类型:unit8、unit16、single、double,与输出图像是同一类
除了f和gamma,其所有输入值都被限定在0和1之间,与f的类别无关
如果high_out小于low_out,输出灰度将被反转
参数gamma:指定从图像f中的灰度值映射生成图像g的曲线的形状
g<1:映射被加权至较亮/高的输出值
g=1:缺省值,线性映射
g>1:映射被加权至较暗/低的输出值
使用函数imadjust:
g1=imadjust(f,[0,1],[1,0]); %得到明暗反转的负片图像,适用于增强嵌入在一大片黑色区域中的白色或灰色细节
g2=imadjust(f,[0.5 0.75],[0 1]); %强调感兴趣灰度区
g3=imadjust(f,[],[],2); %压缩灰度级的低端,并扩展高端(gamma>1)
g=imadjust(f,stretchlim(f),[]); %不必关心低参数和高参数,直接使用函数imadjust(函数low_high=stretchlim(f)
%用于实现对比度拉伸,默认下low_high中的值指定灰度级,
%这些灰度级充满f中底部和顶部1%的所有像素值(也就是获得这幅图像的最小和最大灰度值))
g4=imadjust(f,stretchlim(f),[1,0]); %stretchlim可以增强负片图像的对比度,
函数stretchlim,普遍用法:
low_high=stretchlim(f,tol):
指定将以低像素值和高像素值充满图像部分
tol=[ low_frac 1-low_frac ]:将以低像素值和高像素值充满相等部分
tol默认值为[ 0.01 0.99 ],饱和级别为2%
tol=0:则low_high=[ min(f(:)) max(f(:)) ](max(A)和min(A)将返回数组A的最大元素和最小元素)