数字图像处理DigitalImageProcessing郭素梅GuoS.GuoS.2GuoS.2本课程总内容•空域处理–点运算(灰度映射、二值化(otsu)、多值化、直方图均衡化)–模板运算(卷积-线性滤波、非线性滤波(中值、形态学))–坐标变换(几何变换、几何校正)•频域处理–信号分解的概念–变换(傅里叶变换、离散傅里叶和cos变换、傅里叶变换性质)–滤波器(高通、低通、带通、带阻滤波)•彩色图像处理–彩色模型(RGB,CMY,HSV,Yuv)–各个模型下的处理•图像处理应用–图像数字水印和图像合成、编码和压缩GuoS.3目录•模板运算–边缘检测:一阶微分–sobel算子、roberts算子、prewitt算子•matlab实现•非线性滤波:中值滤波GuoS.4点运算和模板运算•点运算(映射、直方图均衡化):–数学表达:g(x,y)=T(f(x,y))输入输出的x,y不变,仅改变灰度值。输出的灰度值g(x,y)仅仅和输入的灰度值有关•模板运算:–数学表达:g(x,y)=∑∑f(y-i,x-j)w[i][j]输出的灰度值g(x,y),不仅和当前像素f(x,y)的值有关,还和周边像素的值有关,还和模板w有关GuoS.5卷积),(),(),(jiwjyixfyxgnininjnj模板移动在原图像上!dttwtxfxg)()()(GuoS.6GuoS.6模板运算•模板不同,处理结果不同。•但是处理方法相同:均为卷积运算–所有w值为正,且ΣΣw=1时,平滑滤波:消除噪声,模糊图像–所有w值有正有负,且ΣΣw=1时,锐化图像–所有w值有正有负,ΣΣw=0时,边缘检测GuoS.7除噪、锐化模板例w0.15w=0.150.40.150.151/91/91/9w=1/91/91/91/91/91/90-a0w=-a1+4a-a0-a0-a-a-aw=-a1+8a-a-a-a-aΣΣw(i,j)=1时,保持灰度GuoS.8图像边缘检测•一阶微分/差分/梯度GuoS.90501001502002500163248648096112128144160176192208224240GuoS.10图像边缘检测•一阶微分图象剖面一阶导数二阶导数GuoS.11)()1()(xfxfxf)()(),(xfyfyxf)()(tanargxfyfGuoS.12Sobel算子-11-22-11-1-2-1121wxwyGuoS.13Roberts算子-11-11wxwyGuoS.14Prewitt算子-11-11-11-1-1-1111wxwyGuoS.15一阶微分模板•其他方向35-33335-5-5-335-5-3335-335-335-5-335-35-33335-33335-5-5-335-5-3335-335-335-5-335-35-333000000GuoS.16边缘检测:有方向),(),(),(yxwxyxfyxgx),(),(),(yyxwyyxfyxgGuoS.17边缘检测:有方向),(),(),(22yxgyxgyxgyx),(),(),(yxgyxgyxgyxβ为调整输出边缘值的系数GuoS.18拉普拉斯(Laplace)算子1-211-2111-4111111-81111GuoS.19图像边缘检测•微分图象剖面一阶导数二阶导数过零点GuoS.20边缘检测算子比较•Sobel算法与Priwitt算法的思路相同,属于同一类型,因此处理效果基本相同。•Roberts算法的模板为2×2,提取出的信息较弱。•单方向锐化经过后处理之后,也可以对边界进行增强。GuoS.21GuoS.21编程实现卷积过程•matlab实现关键语句:设w为一维共九个元素fori=1:sy-1%增量1,可省forj=1:sx-1g(i,j)=0;kk=1;forii=i-1:i+1forjj=j-1:j+1g(i,j)=g(i,j)+f(ii,jj)*w[kk];kk=kk+1;end;end;end;end;GuoS.22GuoS.22调用MATLAB函数:图像滤波•确定h:h=[00.150;0.150.40.15;00.150];•调用函数:g=imfilter(f,h);GuoS.23程序实现Roberts算子1-1fori=1:sx-1forj=1:sy-1gx(i,j)=f(i+1,j+1)-f(i,j);gy(i,j)=f(i+1,j)-f(i,j+1);end;end;-11GuoS.24MATLAB实现:关键语句hx=[10-1;20-2;10-1];gx=imfilter(f,hx);hy=hx';%矩阵旋转gy=imfilter(f,hy);g=gx.*gx+gy.*gy;%合成g=sqrt(g);GuoS.25MATLAB实现:关键语句h=fspecialGuoS.26GuoS.27非线性滤波:中值滤波•是对一个奇数点滑动窗口内的像素灰度值排序,用中值代替窗口中心像素的原来灰度值。因此它是一种非线性的图像平滑法。GuoS.28中值滤波数值排序m-2m-1mm+1m+2610258mm+1m-2m+2m-161025826GuoS.29中值滤波•例12143122345768957688567891214312234576895768856789234566678GuoS.30中值滤波•中值滤波器的窗口形状可以有多种,如线状、方形、十字形、圆形、菱形等(见图)。(a)(b)(c)(d)(e)(f)GuoS.31中值滤波和均值滤波•对于椒盐噪声,中值滤波效果比均值滤波效果好。•原因:椒盐噪声是幅值近似相等但随机分布在不同位置上,图像中有干净点也有污染点。•中值滤波是选择适当的点来替代污染点的值,所以处理效果好。•因为噪声的均值不为0,所以均值滤波不能很好地去除噪声点。GuoS.32中值滤波和均值滤波•对于高斯噪声,均值滤波效果比中值滤波效果好。•原因:高斯噪声是幅值近似正态分布,但分布在每点像素上。•因为图像中的每点都是污染点,所中值滤波选不到合适的干净点。•因为正态分布的均值为0,所以根据统计数学,均值可以消除噪声。GuoS.33编程实现中值滤波3x3fori=2:sx-1forj=2:sy-1kk=1;forii=i-1:i+1%取出对应的九个像素值forjj=j-1:j+1t(kk)=f(ii,jj);kk=kk+1;end;end;t2=sort(t);%排序g(i,j)=t2(5);%将中间的值,赋给结果图end;end;GuoS.34matlab实现•B=medfilt2(A,[mn])GuoS.35你试试•模板设计(一阶梯度)--重点•边缘检测合成实现--重点•中值滤波设计和实现--重点数字图像处理DigitalImageProcessing郭素梅GuoS.