边缘检测

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.图像边缘检测
边缘是图像最基本的特征之一,往往携带着一幅图像的大部分信息。

而边缘存在于图像的不规则结构和不平稳现象中,也即存在于信号的突变点处,这些点给出了图像轮廓的位置,这些轮廓常常是在图像处理时所需要的非常重要的一些特征条件,这就需要对一幅图像检测并提取出它的边缘。

而边缘检测算法则是图像处理问题中经典技术难题之一,它的解决对于进行高层次的特征描述、识别和理解等有着重大的影响;又由于边缘检测在许多方面都有着非常重要的使用价值,所以人们一直在致力于研究和解决如何构造出具有良好性质及好的效果的边缘检测算子的问题。

在通常情况下,可以将信号中的奇异点和突交点认为是图像中的边缘点,其附近灰度的变化情况可从它相邻像素灰度分布的梯度来反映。

根据这一特点,提出了多种边缘检测算子:如Robert算子、Prewitt算子、Laplacian算子、LoG 算子、Canny算子。

这些方法多是以待处理像素为中心的邻域作为进行灰度分析的基础,实现对图像边缘的提取并已经取得了较好的处理效果。

但这类方法同时也存在有边缘像素宽、噪声干扰较严重等缺点,即使采用一些辅助的方法加以去噪,也相应的会带来边缘模糊等难以克服的缺陷。

解决该问题的丰要方法就是设置阈值,把得到的图像高频部分与阈值相比较以达到去噪的目的,所以阈值的选取显得尤为重要。

传统方法中的阈值都是通过实验确定的,没有统一的阈值选取方法。

本文利用边缘的最大后验概率估计,介绍一种新的边缘估计方法,从理论上说明了怎样选取最佳阈值。

Roberts算子:采用对角线方向相邻两像素之差表示信号的突变,检测水平和垂直方向边缘的性能好于斜线方向,定位精度比较高,但对噪声敏感,检测出的边缘较细。

Prewitt算子:对噪声有平滑作用,检测出的边缘比较粗,定位精度低,容易损失角点。

Laplacian算子:是二阶微分算子,对图像中的阶跃性边缘点定位准确,对噪声非常敏感,丢失一部分边缘的方向信息,造成一些不连续的检测边缘。

LoG算子:首先用高斯函数进行滤波,然后使用Laplacian算子检测边缘,克服了Laplacian算子抗噪声能力比较差的缺点。

Canny算子:采用高斯函数对图像进行平滑处理,因此具有较强的噪声抑制能力;同样该算子也将一些高频边缘平滑掉,造成边缘丢失,采用了双阈值算法检测和连接边缘,边缘的连续性较好。

图像的大部分主要信息都存在于图像的边缘中,主要表现为图像局部特征的不连续性,是图像中灰度变化比较剧烈的地方,即通常所说的信号发生奇异变化的地方。

奇异信号沿边缘走向的灰度变化剧烈,通常将边缘划分为阶跃状和屋顶状两种类型如图1所示。

阶跃边缘中两边的灰度值有明显的变化;而屋顶状边缘位于灰度增加与减少的交界处。

在数学上可利用灰度的导数来刻画边缘点的变化,对阶跃边缘、屋顶状边缘分别求其一阶、二阶导数。

图1 阶跃边缘和屋顶状边缘处一阶和二阶导数变化规律
(其中第一排为理想信号,第二排对应实际信号)
对一个边缘来说,有可能同时具有阶跃和线条边缘特性。

例如在一个表面上,由一个平面变化到法线方向不同的另一个平面就会产生阶跃边缘;如果这一表面具有镜面反射特性且两平面形成的棱角比较圆滑,则当棱角圆滑表面的法线经过镜面反射角时,由于镜面反射分量,在棱角圆滑表面上会产生明亮光条,这样的边缘看起来像在阶跃边缘上叠加了一个线条边缘.由于边缘可能与场景中物体的重要特征对应,所以它是很重要的图像特征。

比如,一个物体的轮廓通常产生阶
跃边缘,因为物体的图像强度不同于背景的图像强度。

论文选题来源于在图像工程中占有重要的地位和作用的实际应用课题。

所谓图像工程学科是指将数学、光学等基础学科的原理,结合在图像应用中积累的技术经验而发展起来的学科。

图像工程的内容非常丰富,根据抽象程度和研究方法等的不同分为三个层次:图像处理,图像分析和图像理解。

如图2所示,在图中,图像分割处于图像分析与图像处理之间,其含义是,图像分割是从图像处理进到图像分析的关键步骤,也是进一步理解图像的基础。

图2 图像分割在图像工程中的地位和作用
图像分割对特征有重要影响。

图像分割及基于分割的目标表达、特征提取和参数测量等将原始图像转化为更抽象更紧凑的形式,使得更高层的图像分析和理解成为可能。

而边缘检测是图像分割的核心内容,所以边缘检测在图像工程中占有重要的地位和作用。

因此边缘检测的研究一直是图像技术研究中热点和焦点,而且人们对其的关注和投入不断提高。

本文的主要工作如下:
(1)本文对图像边缘检测作了一个概要的说明,并说明了进行图像边缘检测的重要意义。

(2)系统的介绍了比较经典的基于一阶微分的图像边缘检测算子及其具体的实现原理,为介绍基于二阶微分的图像边缘检测算子做铺垫,以便于大家的理解。

(3)系统介绍了比较经典的基于二阶微分的图像边缘检测算子及其具体的实现原理。

(4)对上述的算法用Matlab为工具进行仿真,并对其仿真结果进行分析,分析各种算法的特点。

2.Roberts算子
由Roberts提出的算子是一种利用局部差分算子寻找边缘的算子,对于边界
陡峭且噪比较小的图像检测效果比较好,它在2×2邻域上计算对角导数,
[],
G i j
(0-1)
G[i,j]又称为Roberts交叉算子。

在实际应用中,为简化运算,用梯度函数的Roberts绝对值来近似:
[][][][][]
-++++-+
,=,1,11,,1
G i j f i j f i j f i j f i j
(0-2)
用卷积模板,上式变成:
[],x y
G i j G G
=+
(0-3)
其中Gx和Gy由下面图3所示的模板计算:
图3 Robert边缘检测算子的模板
Roberts算子是该点连续梯度的近似值,而不是所预期的点处的近似值。

由上面两个卷积算子对图像运算后,代入(1-3)式,可求得图像的梯度幅度值G[i,j],然后选取适当的门限TH,作如下判断:G[i,j]>TH,[i,j]为阶跃状边缘点,{G[i,j]}为一个二值图像,也就是图像的边缘。

由于利用局部差分检测比较陡峭的边缘,但对于噪声比较敏感,经常会出现孤立点,于是人们又提出了Prewitt算子。

3.算法的实验结果
实验程序清单
Roberts算子程序:
clc
clear all
close all
A = imread('CHE.jpg');
imshow(A);title('原图');
x_mask = [1 0;0 -1];
y_mask = rot90(x_mask);
I = im2double(A);
dx = imfilter(I, x_mask);
dy = imfilter(I, y_mask);
grad = sqrt(dx.*dx + dy.*dy);
grad = mat2gray(grad);
level = graythresh(grad);
BW = im2bw(grad,level);
figure, imshow(BW);
title('Roberts')
4.实验结果
以图片CHE为例,用Roberts算法,检测结果:
图4原图
图5Roberts算子结果图
5.实验结果分析与对比
通过图4和图5知, Roberts算子能够比较准确的检测出图像的边缘。

Roberts算子是基于一阶微分的边缘检测算子,具有实现简单、运算速度快等特点,但其检测受噪声的影响很大,检测结果不可靠,不能准确判定边缘的存在及边缘的准确位置,造成这种情况的原因:(1)实际边缘灰度与理想边缘灰度值间存在差异,这类算子可能检测出多个边缘;(2)边缘存在的尺度范围各不相同,这类算子固定的大小不利于检测出不同尺度上的所有边缘;(3)对噪声都比较敏感。

Roberts算子与Prewitt算子相比边缘定位不很准确,检测水平和垂直边缘效果较好。

Roberts算子与Laplacian算子相比能获得边缘位置信息,还能得到边缘的方向等信息。

Roberts算子与LoG算子相比受噪声的影响很大。

Roberts 算子与Canny算子相比实现简单。

6.体会
通过此次的课程设计,掌握了图像的各种边缘检测的算法,如:Robert算
子、Prewitt算子、Laplacian算子、LoG算子、Canny算子。

熟悉了Matlab程序设计基本方法及程序调试方法。

在Matlab中掌握了图像文件的基本操作,如图像文件信息的读取和保存。

此次我主要是利用Robert算子来实现图像的边缘检测,在这两周里我查阅了相关的资料,并上机进行了调试,期间还遇到了一些问题,通过老师的指导与自己的学习最终完成了此次课程设计。

为我经后的学习奠定了一定基础。

7.参考文献
[1] 刘刚.《MATLAB数学图像处理》.机械工业出版社
[2] 姚敏.《数字图像处理》.机械工业出版社
[3] 高展宏.《基于MATLAB的图像处理案例教程》.清华大学出版社
[4] 杨杰.《数字图像处理及MATLAB实现——学习与实验指导》.电子工业出版社
[5] 张汗灵.《MATLAB在图像处理中的应用》.清华大学出版社
[6] 余成波.《数字图像处理及MATLAB实现》.重庆大学出版社。

相关文档
最新文档