数字图像处理_边缘检测算子与锐化算子(含MATLAB代码)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字图像处理实验五

15生医

一、实验内容

对某一灰度图像,进行如下处理:

(1)分别用Roberts、Prewitt和Sobel边缘检测算子进行边缘检测;(2)将Roberts、Prewitt和Sobel边缘检测算子修改为锐化算子,对原图像进行锐化,同屏显示原图像、边缘检测结果和锐化后图像,说明三者之间的关系。一灰度图像的二值化。

二、运行环境

MATLAB R2014a

三、运行结果及分析

运行结果如图所示:可以观察出原图像、边缘检测结果和锐化后图像三者之间的关系为:原图像+边缘检测结果=锐化后图像

四、心得体会

通过MATLAB编程更加熟悉了课本上关于锐化与边缘检测的相关知识

点,对二者的关系也有了具体的认识。同时,对MATLAB图像导入函数、图像边缘检测函数、锐化窗口矩阵卷积函数的调用及实现机理也有所掌握,比如后边附的程序中会提到的“%”标注的思考。

五、具体程序

size=512;

Img_rgb=imread('E:\lena.jpg'); %读取图像

Img_gray=rgb2gray(Img_rgb); %进行RGB到灰度图像的转换(虽然原来在网上下载的lena就是黑白图像,但是这一步必须要有!否则处理结果不正确)

figure(1);

subplot(2,3,1);

imshow(Img_gray);

title('原图像');

Img_edge=zeros(size);

a={'roberts','prewitt','sobel'};

for i=1:3

Img_edge=edge(Img_gray,a{i});

figure(1);

subplot(2,3,i+1);

imshow(Img_edge);

axis image;

title(a(i));

end

A=imread('E:\lena.jpg');

B=rgb2gray(A);

B=double(B);

Window=[-1 -1 -1;-1 9 -1;-1 -1 -1]; %八邻域拉普拉斯锐化算子(α取1)

C=conv2(B,Window,'same');

Img_sharp=uint8(C);

subplot(2,3,5);

imshow(Img_sharp);

title('sharp');

相关文档
最新文档