数字图像处理实验四
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字图像处理—实验四
一.实验内容:
⑴图像的锐化:使用Sobel,Laplacian算子分别对图像进行运算,观察并体会运算结果。
⑵综合练习:对需要进行处理的图像分析,正确运用所学的知识,采用正确的步骤,对图像进行各类处理,以得到令人满意的图像效果。
[3] 编程实现Roberts梯度锐化算法。
二.实验目的:
学会用Matlab中的下列函数对输入图像按实验内容进行运算;感受各种不同的图像处理方法对最终图像效果的影
响。
imfilter;fspecial;imadjust;
三.实验步骤:
1.仔细阅读Matlab帮助文件中有关以上函数的使用说明,能充分理解其使用方法并能运用它们完成实验内
容。
2.将cameraman.jpg图像文件读入Matlab,使用imfilter函数分别采用Sobel,Laplacian算子对其作锐化运算,
显示运算前后的图像。算子输入方法(两种方法都
做):
(1)用fspecial函数产生(注意:fspecial仅能产生垂直方向
sobel算子,产生Laplacian算子时alpha参数选择0,详
见Help)。
(2)直接输入,其中Sobel算子形式为
(水平Sobel)(垂直Sobel)
Laplacian算子形式为
。
对于Sobel算子,采用生成图像;对于Laplacian算子,
直接采用计算结果作为锐化后图像。
figure;
subplot(2,3,1);
i1=imread('D:\images\cameraman.tif');
i1=im2double(i1);
imshow(i1);title('Input Image');
subplot(2,3,2);
h=fspecial('sobel');
g=h.';
T1= imfilter(i1, h);
T2=imfilter(i1, g);
T3=sqrt(T1.^2+T2.^2);
imshow(T3);title('方法一sobel算子'); subplot(2,3,3);
h = fspecial('laplacian',0);
T4= imfilter(i1, h);
imshow(T4);title('方法一laplacian算子'); subplot(2,3,4);
dx=[-1 -2 -1
0 0 0
1 2 1];
dy=[-1 0 1
-2 0 2
-1 0 1];
T5= imfilter(i1, dx);
T6= imfilter(i1, dy);
T7=sqrt(T1.^2+T2.^2);
imshow(T7);title('方法二sobel算子');
subplot(2,3,5);
h = [0 -1 0
-1 4 -1
0 -1 0];
T8= imfilter(i1, h);
imshow(T8);title('方法二laplacian算子');
3.将skeleton.jpg图像文件读入Matlab,按照以下步骤对其进行处理:
1)用带对角线的Laplacian对其处理,以增强边缘。
对角线Laplacian算子为。
2)将1)结果叠加到原始图像上。可以看出噪声增强了(Laplacian算子对噪声敏感),应想法降低。
3)获取Sobel图像并用imfilter对其进行5×5邻域平均,以减少噪声。
4)获取2)和3)相乘图像,噪声得以减少。
5)将4)结果叠加到原始图像上。
6)最后用imadjust函数对5)结果做幂指数为0.2的灰度变换。
figure;
subplot(2,4,1);
i1=imread('D:\images\skeleton.jpg');
i1=im2double(i1);
imshow(i1);title('Input Image');
subplot(2,4,2);
h = [-1 -1 -1
-1 8 -1
-1 -1 -1];
T1= imfilter(i1, h);
imshow(T1);title('laplacian算子');
subplot(2,4,3);
T2=T1+i1;
imshow(T2);title('1)叠加原图像');
subplot(2,4,4);
h=fspecial('sobel');
T3=imfilter(i1,h);
imshow(T3);title('sobel算子');
subplot(2,4,5);
h = fspecial('average',[5 5]);
T4=imfilter(T3,h);
imshow(T4);title('5*5邻域平均');
subplot(2,4,6);
T5=T2.*T4;
imshow(T5);title('2)和3)相乘');
subplot(2,4,7);
T6=T5+i1;
imshow(T6);title('4)叠加原图像');
subplot(2,4,8);
T7=imadjust(T6,[],[],0.2);
imshow(T7);title('output image');
4.编写Roberts梯度锐化函数。Roberts梯度为
。
锐化图像的形成以下式为准,
L G=255,L B=0,门限T适当选择。要求:输入参数为待锐化图像和设定的门限,输出为锐化后图像。读入
cell.jpg图像进行验证。显示图像时给出选择的门限值。