计算机视觉形态学边缘检测_第1页
计算机视觉形态学边缘检测_第2页
计算机视觉形态学边缘检测_第3页
计算机视觉形态学边缘检测_第4页
计算机视觉形态学边缘检测_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验二 形态算子一、实验目的与要求目的:学习常见的数学形态学运算基本方法,了解腐蚀、膨胀、开运算、闭运算取得的效果,培养处理实际图像的能力。要求:上机运行,调试通过。二、 实验设备: 计算机、Matlab软件、VC+或C语言软件 三、实验内容:利用VC+/C或MatLab工具箱中关于数学形态学运算的函数,对二值图像进行膨胀、腐蚀和开运算、闭运算处理。四、实验原理: 膨胀: 腐蚀: 开运算: 闭运算:五、实验报告内容(1)描述实验的基本步骤,用数据和图片给出各个步骤中取得的实验结果,并进行必要的讨论,必须包括原始图像及其计算/处理后的图像。(2)结合实验内容,评价腐蚀、膨胀以及开运算、闭运算的效

2、果,并说明它们各自适用条件。%对二值图像做腐蚀、膨胀以及开运算和闭运算close all;clc;clear;I=imread(C:Documents and SettingsOwnerMy DocumentsMATLABroad3.jpg); I2=im2bw(I); %对读入图像做二值化处理m,n=size(I2);subplot(2,3,1),imshow(I)title(原始图像);subplot(2,3,2),imshow(I2)title(二值图像);s=1 1;1 0; %腐蚀膨胀算子%腐蚀运算for i=1:m-1 for j=1:n-1 if (I2(i,j)=1)&(I2(

3、i+1,j)=1)&(I2(i,j+1)=1) I3(i,j)=1; end endendsubplot(2,3,3),imshow(I3)title(图像腐蚀1次);%膨胀运算for i=1:m-1 for j=1:n-1 if (I2(i,j)=1)|(I2(i+1,j)=1)|(I2(i,j+1)=1) I4(i,j)=1; end endendsubplot(2,3,4),imshow(I4)title(图像膨胀1次);%开运算for i=1:m-2 for j=1:n-2 if (I3(i,j)=1)|(I3(i+1,j)=1)|(I3(i,j+1)=1) I5(i,j)=1; en

4、d endendsubplot(2,3,5),imshow(I5)title(开运算);%闭运算for i=1:m-2 for j=1:n-2 if (I4(i,j)=1)&(I4(i+1,j)=1)&(I4(i,j+1)=1) I6(i,j)=1; end endendsubplot(2,3,6),imshow(I6)title(闭运算);由上图易知,原图像经1次腐蚀后,图像中的一些不连续点或线被腐蚀掉;而原图像经1次膨胀后,图像中的一些不连续点或线被连接在一起或膨胀。原图像经开运算(先腐蚀后膨胀),图像原先那些不完全连续部分,边缘孤点等被去掉,主体部分得以加强,因而图像特征明显,且清晰。原

5、图像经闭运算(先膨胀后腐蚀),图像原先那些不完全连续部分,大部分被去掉,只保留最基本特征部分,因而图像特征被明显削弱。实验三 边缘检测一、实验目的与要求目的:熟悉采用Roberts算子、Sobel算子、Prewitt算子、Laplacian算子和LOG算子检测数字图像的边缘。要求:上机运行,调试通过。二、 实验设备: 计算机、Matlab软件、VC+或C语言软件 三、实验内容利用VC+/C或MatLab中关于边缘检测的函数,分别采用Roberts算子、Sobel算子、Prewitt算子、Laplacian算子和LOG算子检测数字图像的边缘。四、实验原理两个具有不同灰度值的相邻区域之间总存在边缘

6、,边缘是灰度值不连续的结果,这种不连续性通常可以利用求导数的方法方便地检测到。常用的边缘检测算子有Roberts算子、Sobel算子、Prewitt算子、LOG算子和Laplacian算子。Roberts算子是一种利用局部差分算子寻找边缘的算子,其模板如图:Sobel算子的两个卷积计算核如图:Prewitt算子的两个卷积计算核如图: LOG算子=高斯滤波+拉普拉斯边缘检测。 Laplacian算子是二阶导数的二维等效式,卷积核如图:五、实验报告内容(1)描述实验的基本步骤,给出各个算子取得的实验。(2)结合实验内容,简述各个算子的效果、特点和适用范围。ps=(C:Documents and S

7、ettingsOwnerMy DocumentsMATLABroad3.jpg); %读取图像subplot(1,3,1)imshow(ps);title(原图像);ps=rgb2gray(ps);m,n=size(ps); %用Sobel微分算子进行边缘检测pa = edge(ps,sobel);subplot(1,3,2);imshow(pa);title(sobel边缘检测得到的图像);ps=(C:Documents and SettingsOwnerMy DocumentsMATLABroad3.jpg); %读取图像subplot(1,3,1)imshow(ps);title(原图像

8、);ps=rgb2gray(ps);m,n=size(ps); %用Roberts微分算子进行边缘检测pa = edge(ps,Roberts);subplot(1,3,2);imshow(pa);title(Roberts边缘检测得到的图像);ps=(C:Documents and SettingsOwnerMy DocumentsMATLABroad3.jpg); %读取图像subplot(1,3,1)imshow(ps);title(原图像);ps=rgb2gray(ps);m,n=size(ps); %用Prewitt微分算子进行边缘检测pa = edge(ps,Prewitt);su

9、bplot(1,3,2);imshow(pa);title(Prewitt边缘检测得到的图像);ps=(C:Documents and SettingsOwnerMy DocumentsMATLABroad3.jpg ); %读取图像subplot(1,3,1)imshow(ps);title(原图像);ps=rgb2gray(ps);m,n=size(ps); %用Sobel微分算子进行边缘检测pa = edge(ps,LOG);subplot(1,3,2);imshow(pa);title(LOG边缘检测得到的图像);实验四 边缘检测一、实验目的与要求目的:加深对Canny边缘检测的原理的

10、理解。要求:上机运行,调试通过。二、 实验设备: 计算机、Matlab软件、VC+或C语言软件 三、实验内容用Matlab语言(或C语言),编写Canny边缘检测器的Matlab(或C语言)函数;利用上述函数,对一副图像进行边缘检测;利用Matlab自带的Canny边缘检测函数对同一副图像进行边缘检测;比较上述两个结果。 四、实验步骤步1. 图像与高斯平滑滤波器卷积:步2. 使用一阶有限差分计算偏导数阵列P与Q:步3. 计算梯度幅值与方向角:步4. 非极大值抑制(NMS ) : 去掉幅值局部变化非极大的点 * 将梯度角离散为圆周的四个扇区之一,以便用33的窗口 作抑制运算 * 方向角离散化:* 抑制,得到新幅值图:步5. 阈值化取高低两个阈值作用于幅值图Ni,j,得到两个边缘图:高阈值和低阈值边缘图。连接高阈值边缘图,出现断点时,在低阈值边缘图中的8邻点域搜寻边缘点。五、实验报告内容(1)描述实验的基本步骤,给出实验程序代码及必要说明。ps=imread(C:Documents and SettingsOwnerMy DocumentsMATLABroad3.j

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论