




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业基于MATLAB边缘检测与提取的几种方法的比较数字图像边缘检测(Digital Image Processing)又称为计算机图像边缘检测,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。由于图像边缘是图像最基本的特征之一,往往携带着一幅图像的大部分信息。而边缘存在于图像的不规则结构和不平稳现象中,也即存在于信号的突变点处,这些点给出了图像轮廓的位置,这些轮廓常常是我们在图像边缘检测时所需要的非常重要的一些特征条件,这就需要我们对一幅图像检测并提取出它的边
2、缘。在通常情况下,我们可以将信号中的奇异点和突变点认为是图像中的边缘点,其附近灰度的变化情况可从它相邻像素灰度分布的梯度来反映。根据这一特点,提出了多种边缘检测算子:如 Robert算子、Sobel 算子、Prewitt 算子、Laplacian 算子,Canny算子等。这些方法多是以待处理像素为中心的邻域作为进行灰度分析的基础,实现对图像边缘的提取并已经取得了较好的处理效果。经典的边界提取技术大都基于微分运算。首先通过平滑来滤除图像中的噪声,然后进行一阶微分或二阶微分运算,求得梯度最大值或二阶导数的过零点,最后选取适当的阈值来提取边界。本文主要介绍几种经典的边缘提取算法,选取两种用MATLA
3、B语言编程实现,对提取结果进行比较和分析。图像边缘检测的基本步骤:(1)滤波。边缘检测主要基于导数计算,但受噪声影响。但滤波器在降低噪声的同时也导致边缘强度的损失。(2)增强。增强算法将邻域中灰度有显著变化的点突出显示。一般通过计算梯度幅值完成。(3)检测。但在有些图像中梯度幅值较大的并不是边缘点。最简单的边缘检测是梯度幅值阈值判定。(4)定位。精确确定边缘的位置。几种边缘算子的比较以柚子的图片为例1、Roberts算子是一种利用局部差分算子寻找边缘的算子,Roberts算子边缘定位准,但是对噪声敏感。适用于边缘明显而且噪声较少的图像分割,在应用中经常用Roberts算子来提取道路。程序如下:
4、I=imread(D:研一阳建宏信号作业柚子.jpg); %读取图像 J=rgb2gray(I); %转化为灰度图像 K=imadjust(J,40/255 1); %调整灰度值 BW=edge(K, roberts); %边缘检测 figure(1);imshow(BW); %显示图像2、Sobel边缘算子:图像中的每个像素都用这核做卷积。这两个核分别对垂直边缘和水平边缘响应最大,两个卷积的最大值作为该点的输出位。运算结果是一幅边缘幅度图像。Sobel算子认为邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同。一般来说,距离越大,产生的影响
5、越小。程序如下:I=imread(D:研一阳建宏信号作业柚子.jpg); %读取图像 J=rgb2gray(I); %转化为灰度图像 K=imadjust(J,40/255 1); %调整灰度值 BW=edge(K, sobel); %边缘检测 figure(1);imshow(BW); %显示图像3、Prewitt算子在一个方向求微分,而在另一个方向求平均,因而对噪声相对不敏感,有抑制噪声作用。但是像素平均相当于对图像的低通滤波,所以Prewitt算子对边缘的定位不如Roberts算子。程序如下:I=imread(D:研一阳建宏信号作业柚子.jpg); %读取图像 J=rgb2gray(I)
6、; %转化为灰度图像 K=imadjust(J,40/255 1); %调整灰度值 BW=edge(K, prewitt); %边缘检测 figure(2);imshow(BW); %显示图像这是未经滤波的效果图。4、Laplacian算子利用二阶导数信息,具有各向同性,即与坐标轴方向无关,坐标轴旋转后梯度结果不变。使得图像经过二阶微分后,在边缘处产生一个陡峭的零交叉点,根据这个对零交叉点判断边缘。Laplacian算子对噪声比较敏感,Laplacian算子有一个缺点是它对图像中的某些边缘产生双重响应。所以图像一般先经过平滑处理,通常把Laplacian算子和平滑算子结合起来生成一个新的模板。
7、5、Log(Laplacian of Gassian )算法:将高斯滤波和拉普拉斯检测算子结合在一起进行边缘检测的方法。也称之为拉普拉斯高斯算法。该算法的主要思路和步骤是:滤波(滤波函数根据人类视觉特性选为高斯函数)、增强(对平滑图像进行拉普拉斯运算)、检测(边缘检测判据是二阶导数的零交叉点并对应一阶导数的较大峰值)。这种方法的特点是图像首先与高斯滤波器进行卷积,这样既平滑了图像又降低了噪声,孤立的噪声点和较小的结构组织将被滤除。但是由于平滑会造成图像边缘的延伸,因此边缘检测器只考虑那些具有局部梯度最大值的点为边缘点。高斯-拉普拉斯算子把高斯平滑滤波器和拉普拉斯锐化滤波器结合起来,先平化掉噪声
8、,再进行边缘检测,所以效果更好。程序如下:I=imread (D:研一阳建宏信号作业柚子.jpg);J=rgb2gray(I); %转化为灰度图像K=imadjust(J,40/255 1); %调整灰度值BW1=edge(K,log,0.01); figure(1);subplot(3,2,1);imshow(BW1);title(阈值为0.01的LOG算子边缘检测图像);BW11=edge(K,log,0.001);subplot(3,2,5);imshow(BW11);title(阈值为0.001的LOG算子边缘检测图像);BW2= edge(K,log,0.005);subplot(3
9、,2,4);imshow(BW2);title(阈值为0.005的LOG算子边缘检测图像);BW20= edge(K,log,0.007);subplot(3,2,3);imshow(BW20);title(阈值为0.007的LOG算子边缘检测图像);BW22= edge(K,log,0.009);subplot(3,2,2);imshow(BW22);title(阈值为0.009的LOG算子边缘检测图像);BW23= edge(K,log,0.0001);subplot(3,2,6);imshow(BW23);title(阈值为0.0001的LOG算子边缘检测图像);结果分析:如图所示采用的
10、阈值越小则图像的边缘处理效果越清晰,且边缘点条理显著。但是当阈值超过0.0001时图像边缘的处理效果越模糊如图5.20所示,但是仍能进行边缘的判断!6、Canny算子类似与Marr(LOG)边缘检测方法,也属于先平滑后求导数的方法。采用二维高斯函数的任意方向上的一阶方向导数为噪声滤波器,通过与图像卷积进行滤波;然后对滤波后的图像寻找图像梯度的局部最大值,以此来确定图像边缘。根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是Canny边缘检测算子。用双阈值算法检测和连接边缘。检测方法的优点:低误码率,很少把边缘点误认为非边缘点;高定位精度,即精确地把边缘点定位在灰度变化最大的像素上;抑制
11、虚假边缘。程序如下:I=imread (D:研一阳建宏信号作业柚子.jpg);J=rgb2gray(I); %转化为灰度图像K=imadjust(J,40/255 1); %调整灰度值BW1=edge(K,canny,0.01); figure(2);subplot(3,2,1);imshow(BW1);title(阈值为0.01的Canny算子边缘检测图像);BW11=edge(K,canny ,0.009);subplot(3,2,2);imshow(BW11);title(阈值为0.009的Canny算子边缘检测图像);BW2= edge(K,canny,0.007);subplot(3
12、,2,3);imshow(BW2);title(阈值为0.007的Canny算子边缘检测图像);BW21= edge(K,canny,0.005);subplot(3,2,4);imshow(BW21);title(阈值为0.005的Canny算子边缘检测图像);BW22= edge(K,canny,0.0001);subplot(3,2,5);imshow(BW22);title(阈值为0.0001的Canny算子边缘检测图像);结果分析:如图所示采用的阈值越小则图像的边缘处理效果越模糊不清,且边缘分界点无法判断,变得模糊不清。且当阈值超过0.0002时图像边缘的边缘有效信息部分丢失,边缘点
13、的判断模糊如图5.19所示,虽仍然能够识别它的边界线,但其清晰边界点已无法识别判断图像的边缘点准确性!重新选择阈值,程序如下:I=imread (D:研一阳建宏信号作业柚子.jpg);J=rgb2gray(I); %转化为灰度图像K=imadjust(J,40/255 1); %调整灰度值BW1=edge(K,canny,0.00);subplot(3,2,1);imshow(BW1);title(阈值为0.00的Canny算子边缘检测图像);BW11=edge(K,canny ,0.05);subplot(3,2,2);imshow(BW11);title(阈值为0.05的Canny算子边缘
14、检测图像);BW2= edge(K,canny,0.1);subplot(3,2,3);imshow(BW2);title(阈值为0.1的Canny算子边缘检测图像);BW21= edge(K,canny,0.2);subplot(3,2,4);imshow(BW21);title(阈值为0.2的Canny算子边缘检测图像);BW22= edge(K,canny,0.3);subplot(3,2,5);imshow(BW22);title(阈值为0.3的Canny算子边缘检测图像);效果明显变好。7、基于小波包的图像边缘检测从信号分析的角度看,图像的边缘是图像信号的突变点,描述信号最有意义的特
15、征点是信号的突变点,它包含了信号的大量信息。边缘在图像中表现为灰度值的突变,表现为高频信号。因此所以的边缘检测方法都是检测信号的高频分量,但是在实际图像中,由于噪声的存在,边缘检测成为一个难题。小波包分解后得到的图像序列又近似部分和细节部分组成,近似部分是原图像对高频部分进行滤波所得的近似表示,经滤波后,近似部分去除了高频分量,因此能够检测到原图像中所检测不到的边缘。I=imread(D:研一阳建宏信号作业柚子.jpg);%加入噪声I2=imnoise(I, gaussian,0,0.01);subplot(221);imagesc=(I2);title(原始图像);axis square;X
16、,map=rgb2ind(I2,0.1); %转化为灰度图像X=double(X);%用小波db10对图像X进行一层小波包分解T=wpdec2(X,1,db10);%重构图像的近似部分A=wprcoef(T,1 0);subplot(222); imagesc=(A);title(图像的近似部分);axis square;%原图像的边缘检测BW1=edge(X, sobel);subplot(223);imshow(BW1);title(原图像的边缘);axis square;%图像近似部分的边缘检测BW2=edge(A, sobel);subplot(224);imshow(BW2);tit
17、le(图像近似部分的边缘);axis square;8、基于膨胀与腐蚀的形态操作骨架化和边缘检测(1)骨架化:某些应用中,针对一副图像,希望对图像中所有对象简化为线条,但不修改图像的基本结构,保留图像基本轮廓,这个过程就是所谓的骨架化。提供了专门的函数bwmorph,可以实现骨架化操作。BW1=imread(D:研一阳建宏信号作业柚子.jpg);J=rgb2gray(BW1); %转化为灰度图像K=imadjust(J,40/255 1); %调整灰度值BW2=bwmorph(K,skel,Inf);imshow(K); title(转为灰度的图像);figure,imshow(BW2); t
18、itle(骨架图);(2)边缘检测对于一副灰度二进制图像,如果图像像素值为1,则该像素的状态为ON,如果其像素值为0,则该像素的状态为OFF。在一副图像中,如果图像某个像素满足以下两个条件:1.该像素状态为ON,2.该像素邻域中有一个或多个像素状态为OFF。则认为该像素为边缘像素。Matlab中提供了专门的函数bwperim,可以用于判断一副二进制图像中的哪些像素为边缘像素。以下程序代码示例就是利用bwperim函数,对图像进行边缘检测,其边缘像素检测效果如尾图。BW1=imread(D:研一阳建宏信号作业柚子.jpg);J=rgb2gray(BW1); %转化为灰度图像K=imadjust(
19、J,40/255 1); %调整灰度值BW2=bwperim(K);figure,imshow(BW2) ; title(边缘效果图);对图片进行滤波后在提取边缘,各种方法对比如下图:%对原始图像进行前期处理I=imread(D:研一阳建宏信号作业柚子.jpg);I2=im2double(I);Ihd=rgb2gray(I2);thr,sorh,keepapp=ddencmp(den, wv,Ihd);Ixc=wdencmp(gbl, Ihd,sym4,2,thr,sorh,keepapp);figure(3),imshow(Ixc),title(消噪后的图像);k2=medfilt2(Ixc
20、,7 7);figure(4),imshow(k2),title(中值滤波);Isuo=imresize(k2,0.25, bicubic);% Sobel、Roberts、Prewitt算子检测图像边缘esobel=edge(Isuo,sobel);erob=edge(Isuo,roberts);eprew=edge(Isuo,prewitt);subplot(3,2,1);imshow(Isuo);title(前期处理图像);subplot(3,2,2);imshow(esobel);title(sobel算子提取);subplot(3,2,3);imshow(erob);title(roberts算子提取);subplot(3,2,4);imshow(eprew);title(prewitt算子提取);%调用Log算子、Canny算子检测图像边缘elog=edge(Isuo,log);ecanny=edge(Isuo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 华科大工程传热学教案08传热过程与换热器
- 德阳科贸职业学院《儿童美术辅导》2023-2024学年第二学期期末试卷
- 华科大电站锅炉原理课件03燃烧产物和热平衡
- 广东行政职业学院《管弦乐队三》2023-2024学年第二学期期末试卷
- 洛阳职业技术学院《光学原理》2023-2024学年第二学期期末试卷
- 油田安全试题及答案
- 营养师考试题目及答案
- 铁门关职业技术学院《钢琴即兴伴奏与弹唱》2023-2024学年第二学期期末试卷
- 2025年执业药师资格证之《西药学专业一》预测试题含答案详解(模拟题)
- 九州职业技术学院《食品质量安全控制体系》2023-2024学年第二学期期末试卷
- 岗位练兵中药专业前一百题测试(一)测试题
- 土地项目测算表_模板
- 中华传统文化教育学生学习能力评价量化表
- 服装色彩设计(PPT57页)课件
- DLT 596-2021 电力设备预防性试验规程
- 内分泌系统疾病病例分析
- 铝箔轧制油过滤技术
- 专项审计报告模板(青岛市高新技术企业认定专用)
- 成都市所有的药房.doc
- 基于BIM模型技术交底应用
- 产品设计和开发控制程序
评论
0/150
提交评论