您好,欢迎访问三七文档
本科生实验报告(四)姓名:学院:信息工程学院专业:计算机科学与技术班级:实验课程名称:图形图像处理与应用实验日期:2014年月日指导教师及职称:实验成绩:开课时间:2013~2014学年第二学期实验题目图像分割小组合作姓名班级学号一、实验目的1.熟悉matlab图像处理工具箱及图像边缘检测函数的使用;2.理解和掌握图像边缘检测(Sobel、Prewitt、Log边缘算子)的方法和应用;3.掌握用阈值法进行图像分割的基本方法。二.实验环境Matlab环境下三、实验内容与步骤使用Roberts算子的图像分割实验�调入并显示图像room.tif中图像;使用Roberts算子对图像进行边缘检测处理;Roberts算子为一对模板:�相应的矩阵为:rh=[01;-10];rv=[10;0-1];这里的rh为水平Roberts算子,rv为垂直Roberts算子。分别显示处理后的水平边界和垂直边界检测结果;用“欧几里德距离”和“街区距离”方式计算梯度的模,并显示检测结果;对于检测结果进行二值化处理,并显示处理结果;提示:先做检测结果的直方图,参考直方图中灰度的分布尝试确定阈值;应反复调节阈值的大小,直至二值化的效果最为满意为止。分别显示处理后的水平边界和垂直边界检测结果;将处理结果转化为“白底黑线条”的方式;给图像加上零均值的高斯噪声;对于噪声图像重复步骤b~f。(2)使用Prewitt算子的图像分割实验�使用Prewitt算子进行内容(1)中的全部步骤。(3)使用Sobel算子的图像分割实验使用Sobel算子进行内容(1)中的全部步骤。(4)使用LoG(拉普拉斯-高斯)算子的图像分割实验使用LoG(拉普拉斯-高斯)算子进行内容(1)中的全部步骤。提示1:处理后可以直接显示处理结果,无须另外计算梯度的模。提示2:注意调节噪声的强度以及LoG(拉普拉斯-高斯)算子的参数,观察处理结果。四、实验过程与分析I=imread('cameraman.tif');J1=edge(I,'sobel');J2=edge(I,'prewitt');J3=edge(I,'log');subplot(1,4,1),imshow(I);subplot(1,4,2),imshow(J1);subplot(1,4,3),imshow(J2);subplot(1,4,4),imshow(J3);原始图像:Sobel边缘算子:Prewitt边缘算子:Log边缘算子:fid=fopen('lena.img','r');im=(fread(fid,[256,256],'uint8'))';im=im2double(uint8(im));im_R=edge(im,'Roberts');im_P=edge(im,'Prewitt');im_S=edge(im,'Sobel');im_L=edge(im,'Log');colormap(gray);subplot(321);imshow(im);title('源图像');subplot(323);imshow(im_R);title('Roberts检测');subplot(324);imshow(im_P);title('Prewitt检测');subplot(325);imshow(im_S);title('Sobel检测');subplot(326);imshow(im_L);title('Log检测');源图像:五、实验总结图像理解是图像处理的一个重要分支,边缘检测技术对于处理数字图像非常重要,边缘检测中,常用的是sobel算子,有检测水平边缘和垂直边缘。与Prewitt算子相比,sobel算子对于像素的位置的影响做了加权,可以降低边缘模糊程度,效果更好。
本文标题:图像分割实验报告
链接地址:https://www.777doc.com/doc-2308957 .html