实验报告
实验名称边缘检测
课程名称数字图像处理及MATLAB实现
专业:班级:
学生姓名:学号:
同组人:指导教师:
实验日期: 成绩:
实验1:LOG算子检测边缘实验实验内容
实验原理
实验方法及程序1.完成基本实验内容
2.为本程序添加注释
I=imread('lena2.bmp'); subplot(2,2,1); imshow(I);
title('原始图像');
I1=rgb2gray(I); subplot(2,2,2); imshow(I1);
title('灰度图像');
I2=edge(I1,'log'); subplot(2,2,3); imshow(I2);
title('log算子分割结果');
实验结果
(附图)
结果分析分析LOG算子的优缺点
算子模板的基本要求是对应中心像素的系数是正的,而对
应中心像素邻近的
系数应是负的,且它们的和应为零。
2.实验2:Canny算子检测边缘实验
实验内容实验原理
实验方法及程序1.完成基本实验内容
2.为本程序添加注释
I=imread('lena2.bmp'); subplot(2,2,1);
imshow(I);
title('原始图像');
I1=rgb2gray(I);
subplot(2,2,2);
imshow(I1);
title('灰度图像');
I2=edge(I1,'canny'); subplot(2,2,3);
imshow(I2);
title('canny算子分割结果');
实验结果
(附图)
结果分析分析Canny算子的优缺点和适用场合
Canny算子检测出的边缘完整、连续且细锐。从实验结果
中可以看出,这种方法对医用CT图像的边缘检测非常适用,
对于利用计算机进行医学图像处理有着重要的现实意义。
实验3:Roberts和sobel算子实现边缘检测实验
实验内容
实验原理
实验方法
及程序I=imread('lena.jpg');
subplot(2,3,1);
imshow(I);
title('?-ê?í???');
axis([0,256,0,256]);
grid on;
axis on;
I1=im2bw(I);
subplot(2,3,2);
imshow(I1);
title('?t?μí???');
axis([0,256,0,256]);
grid on;
axis on;
I2=edge(I,'roberts');
subplot(2,3,3);
imshow(I2);
title('roberts??×ó·????á1?');
axis([0,256,0,256]);
grid on;
axis on;
I3=edge(I,'sobel');
subplot(2,3,4);
imshow(I3);
title('sobel??×ó·????á1?');
axis([0,256,0,256]);
grid on;
axis on;
I4=edge(I,'prewitt');
subplot(2,3,5);
imshow(I4);
title('prewitt??×ó·????á1?');
axis([0,256,0,256]);
grid on;
axis on;
实验结果
(附图)
结果分析
Soleb算子具有平滑效果,由于微分增强了噪音,这一点
是特别引人注意的特性。
经分析,由于
Robert
算子通常会在图像边缘附近的区域内产生较宽的响
应,故采用上述算子检测的边缘图像常需做细化处理,边缘定位的精度不是很高
Prewitt
算子利用像素点上下、左右邻点灰度差,在边缘处达到
极值检测边缘。对噪声具有平滑作用,定位精度不够高。