遥感实验——边缘检测.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
遥感实验——边缘检测

实验二边缘检测 一、实验原理 两个具有不同灰度值的相邻区域之间总会存在边缘,边缘是灰度值不连续的表现。 由于边缘试图向上灰度变化最剧烈的地方,传统的边缘检测就是利用了这点。对图像上的个点像素点进行微分或二阶微分来确定边缘像素点。一阶微分图像的峰值处对应着图像上的边缘点,二阶微分图像的零值处对应着图像上的边缘点。根据属数字图像的特点,处理图像过程中常采用差分来代替导数运算,对于简单的一阶导数运算,由于具有固定的方向性,只能检测特定方向的边缘,所以不具有普遍性。为了克服一阶导数的缺点,我们需要定义新的图像梯度算子: 这是图像处理中最常见的一阶微分算法,式子中F(j,k)表示图像的灰度值,图像梯度的最重要的性质是梯度的方向在图像弧度的最大变化率上,这恰好可以反映出图像的边缘上的灰度变化。图像边缘提取的常用梯度算子有:Robert算子、Sobel算子、Prewitt算子、拉普拉斯算子等。 二、实验步骤 ①滤波:边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折中。   ②增强:增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将邻域(或局部)强度值有显著变化的点突显出来。边缘增强一般是通过计算梯度幅值来完成的。   ③检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。最简单的边缘检测判据是梯度幅值阈值判据。 ④定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来。在边缘检测算法中,前三个步骤用得十分普遍。这是因为大多数场合下,仅仅需要边缘检测器指出边缘出现在图像某一像素点的附近,而没有必要指出边缘的精确位置或方向。 三、实验结果 四、评价 由于Sobel算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数,简单有效,因此应用广泛。美中不足的是,Sobel算子并没有将图像的主体与背景严格地区分开来,换言之就是Sobel算子没有基于图像灰度进行处理,由于Sobel算子没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。??在观测一幅图像的时候,我们往往首先注意的是图像与背景不同的部分,正是这个部分将主体突出显示,基于该理论,我们可以给出阈值化轮廓提取算法,该算法已在数学上证明当像素点满足正态分布时所求解是最优的。 Laplacian算子:这是二阶微分算子。其具有各向同性,即与坐标轴方向无关,坐标轴旋转后梯度结果不变。但是,其对噪声比较敏感,所以,图像一般先经过平滑处理,因为平滑处理也是用模板进行的,所以,通常的分割算法都是把Laplacian算子和平滑算子结合起来生成一个新的模板。 Prewitt算子:对噪声有抑制作用,抑制噪声的原理是通过像素平均,但是像素平均相当于对图像的低通滤波,所以Prewitt算子对边缘的定位不如Roberts算子。 附:程序代码 close all clear all I=imread(tig.jpg); %读取图像 I1=im2double(I); %将彩图序列变成双精度 I2=rgb2gray(I1); %将彩色图变成灰色图 [thr, sorh, keepapp]=ddencmp(den,wv,I2); I3=wdencmp(gbl,I2,sym4,2,thr,sorh,keepapp); %小波除噪 I4=medfilt2(I3,[9 9]); %中值滤波 I5=imresize(I4,0.2,bicubic); %图像大小 BW1=edge(I5,sobel); %sobel图像边缘提取 BW2=edge(I5,roberts); %roberts图像边缘提取 BW3=edge(I5,prewitt); %prewitt图像边缘提取 BW4=edge(I5,log); %log图像边缘提取 BW5=edge(I5,canny); %canny图像边缘提取 h=fspecial(gaussian,5); %高斯滤波 BW6=edge(I5,zerocross,[ ],h); %zerocross图像边缘提取 figure; subplot(1,6,1); %图划分为一行三幅图,第一幅图 imshow(I2); %绘图 figure; subplot(1,6,2); imshow(BW1); title(Sobel算子); subplot(1,6,3); imshow(BW2); title(Roberts算子); subplot(1,6,4); imshow(BW3); tit

文档评论(0)

cgtk187 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档