数字图像边缘检测的研究与实现.docx

上传人:b****4 文档编号:5078514 上传时间:2023-05-08 格式:DOCX 页数:18 大小:206.12KB
下载 相关 举报
数字图像边缘检测的研究与实现.docx_第1页
第1页 / 共18页
数字图像边缘检测的研究与实现.docx_第2页
第2页 / 共18页
数字图像边缘检测的研究与实现.docx_第3页
第3页 / 共18页
数字图像边缘检测的研究与实现.docx_第4页
第4页 / 共18页
数字图像边缘检测的研究与实现.docx_第5页
第5页 / 共18页
数字图像边缘检测的研究与实现.docx_第6页
第6页 / 共18页
数字图像边缘检测的研究与实现.docx_第7页
第7页 / 共18页
数字图像边缘检测的研究与实现.docx_第8页
第8页 / 共18页
数字图像边缘检测的研究与实现.docx_第9页
第9页 / 共18页
数字图像边缘检测的研究与实现.docx_第10页
第10页 / 共18页
数字图像边缘检测的研究与实现.docx_第11页
第11页 / 共18页
数字图像边缘检测的研究与实现.docx_第12页
第12页 / 共18页
数字图像边缘检测的研究与实现.docx_第13页
第13页 / 共18页
数字图像边缘检测的研究与实现.docx_第14页
第14页 / 共18页
数字图像边缘检测的研究与实现.docx_第15页
第15页 / 共18页
数字图像边缘检测的研究与实现.docx_第16页
第16页 / 共18页
数字图像边缘检测的研究与实现.docx_第17页
第17页 / 共18页
数字图像边缘检测的研究与实现.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数字图像边缘检测的研究与实现.docx

《数字图像边缘检测的研究与实现.docx》由会员分享,可在线阅读,更多相关《数字图像边缘检测的研究与实现.docx(18页珍藏版)》请在冰点文库上搜索。

数字图像边缘检测的研究与实现.docx

数字图像边缘检测的研究与实现

 

任务书

学号

3072102203

学生姓名

方士兵

专业(班级)

电信2072

设计题目

基于Matlab的图像边缘检测算法实现及应用

1.提高分析问题,解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。

2.熟悉掌握一门计算机的语言,可以进行数字图像的应用处理的开发设计。

 

1.选取一幅目标图像,分析图像的特点。

2.根据图像的特点,选取一种(或几种)边缘算子,提取图像边缘。

3.分析结果。

 

一周

1天的课程介绍,人员安排,熟悉编程环境。

3天分析题目,编写程序。

1天调试程序并写出设计报告。

摘要

主要分析几种应用于数字图像处理中的边缘检测算子,根据它们在实践中的应用结果进行研究,主要包括:

Robert边缘算子、Prewitt边缘算子、Sobel边缘算子、Kirsch边缘算子以及Laplacian算子等对图像及噪声图像的边缘检测,根据实验处理结果讨论了几种检测方法的优劣.

关键词:

数字图像处理;边缘检测;算子

 

引言

图像的边缘是图像的重要特征之一,数字图像的边缘检测是图像分割、目标区域识别、区域形状提取等图像分析领域十分重要的基础,其目的是精确定位边缘,同时较好地抑制噪声,因此边缘检测是机器视觉系统中必不可少的重要环节。

然而,由于实际图像中的边缘是多种边缘类型的组合,再加上外界环境噪声的干扰,边缘检测又是数字图像处理中的一个难题。

目录

 

第一章边缘的概念………………………………………………………………3

第二章边缘检测…………………………………………………………………4

第三章边缘检测算子的应用……………………………………………………8

第四章边缘检测方法性能比较…………………………………………………12

参考文献料…………………………………………………………………………15

第1章:

边缘检测

1.1边缘的介绍

图像边缘是图像最基本的特征,边缘在图像分析中起着重要的作用。

所谓边缘是指图像局部特性的不连续性。

灰度或结构等信息的突变处称为边缘,例如:

灰度级的突变,颜色的突变,纹理结构的突变等。

边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。

边缘(edge)是指图像局部强度变化最显著的部分.边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础.图像分析和理解的第一步常常是边缘检测(edgedetection).由于边缘检测十分重要,因此成为机器视觉研究领域最活跃的课题之一.本章主要讨论边缘检测和定位的基本概念,并使用几种常用的边缘检测器来说明边缘检测的基本问题.

在讨论边缘算子之前,首先给出一些术语的定义:

边缘点:

图像中具有坐标

且处在强度显著变化的位置上的点.

边缘段:

对应于边缘点坐标

及其方位

,边缘的方位可能是梯度角.

边缘检测器:

从图像中抽取边缘(边缘点和边缘段)集合的算法.

轮廓:

边缘列表,或是一条表示边缘列表的拟合曲线.

边缘连接:

从无序边缘表形成有序边缘表的过程.习惯上边缘的表示采用顺时针方向序.

边缘跟踪:

一个用来确定轮廊的图像(指滤波后的图像)搜索过程.

边缘点的坐标可以是边缘位置像素点的行、列整数标号,也可以在子像素分辨率水平上表示.边缘坐标可以在原始图像坐标系上表示,但大多数情况下是在边缘检测滤波器的输出图像的坐标系上表示,因为滤波过程可能导致图像坐标平移或缩放.边缘段可以用像素点尺寸大小的小线段定义,或用具有方位属性的一个点定义.请注意,在实际中,边缘点和边缘段都被称为边缘.

边缘连接和边缘跟踪之间的区别在于:

边缘连接是把边缘检测器产生的无序边缘集作为输入,输出一个有序边缘集;边缘跟踪则是将一幅图像作为输入,输出一个有序边缘集.另外,边缘检测使用局部信息来决定边缘,而边缘跟踪使用整个图像信息来决定一个像素点是不是边缘.

1.2边缘检测算子

边缘检测是图像特征提取的重要技术之一,边缘常常意味着一个区域的终结和另一个区域的开始.图像的边缘包含了物体形状的重要信息,它不仅在分析图像时大幅度地减少了要处理的信息量,而且还保护了目标的边界结构.因此,边缘检测可以看做是处理许多复杂问题的关键.

边缘检测的实质是采用某种算法来提取出图像中对对象与背景间的交界线。

图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此可以用局部图像微分技术来获取边缘检测算子。

经典的边缘检测方法是对原始图像中的像素的某个邻域来构造边缘检测算子。

以下是对几种经典的边缘检测算子进行理论分析,并对各自的性能特点做出比较和评价。

边缘检测的原理是:

由于微分算子具有突出灰度变化的作用,对图像进行微分运算,在图像边缘处其灰度变化较大,故该处微分计算值教高,可将这些微分值作为相应点的边缘强度,通过阈值判别来提取边缘点,即如果微分值大于阈值,则为边缘点。

Roberts,Sobel,Prewwit是基于一阶导数的边缘检测算子,图像的边缘检测是通过2*2或者3*3模板作为核与该图像中的每个像素点做卷积和运算,然后选取合适的阈值以提取边缘。

Laplace边缘检测算子是基于二阶导数的边缘检测算子,该算子对噪声敏感。

Laplace算子的改进方式是先对图像进行平滑处理,然后再应用二阶导数的边缘检测算子,其代表是拉普拉斯高斯(LOG)算子。

前边介绍的边缘检测算法是基于微分方法的,其依据是图像的边缘对应一阶导数的极大值点和二阶导数过零点。

Canny算子是另外一类边缘检测算子,它不是通过微分算子检测边缘,而是在满足一定约束条件下推导出的边缘检测最优化算子。

1.3边缘检测算法

对于边缘的检测常常借助于空域微分算子进行,通过将其模板与图像卷积完成.两个具有不同灰度值的相邻区域之间总存在灰度边缘.灰度边缘是灰度值不连续(或突变)的结果,这种不连续常可利用求一阶和二阶导数方便地检测到.已有的局部技术边缘检测方法,主要有一次微分(Sobel算子、Roberts算子等)、二次微分(拉普拉斯算子等).这些边缘检测器对边缘灰度值过渡比较尖锐且噪声较小等不太复杂的图像,大多数提取算法均可以取得较好的效果.但对于边缘复杂、采光不均匀的图像来说,则效果不太理想.主要表现为边缘模糊、边缘非单像素宽、弱边缘丢失和整体边缘的不连续等方面.

用算子检测图像边缘的方法是用小区域模板对图像进行处理,即采用卷积核作为掩模模板在图像中依次移动,完成图像中每个像素点同模板的卷积运算,最终输出的边缘幅度结果可以检测出图像的边缘.卷积运算是一种邻域运算.图像处理认为:

某一点像素的结果不但和本像素灰度有关,而且和其邻域点值有关.运用模板在图像上依此对每一个像素进行卷积,即模板上每一个点的值与其在图像上当前位置对应的像素点值相乘后再相加,得出的值就是该点处理后的新值.

边缘检测算法有如下四个步骤:

滤波:

边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能.需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折衷.

增强:

增强边缘的基础是确定图像各点邻域强度的变化值.增强算法可以将邻域(或局部)强度值有显著变化的点突显出来.边缘增强一般是通过计算梯度幅值来完成的.

检测:

在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点.最简单的边缘检测判据是梯度幅值阈值判据.

定位:

如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来.

在边缘检测算法中,前三个步骤用得十分普遍。

这是因为大多数场合下,仅仅需要边缘检测器指出边缘出现在图像某一像素点的附近,而没有必要指出边缘的精确位置或方向.边缘检测误差通常是指边缘误分类误差,即把假边缘判别成边缘而保留,而把真边缘判别成假边缘而去掉.边缘估计误差是用概率统计模型来描述边缘的位置和方向误差的.我们将边缘检测误差和边缘估计误差区分开,是因为它们的计算方法完全不同,其误差模型也完全不同.

这里讨论常用的几种边缘检测器.

二、经典边缘检测算子的理论分析和比较

1.Roberts算子

Roberts算子是一种斜向偏差分的梯度计算方法,梯度的大小代表边缘的强度,梯度的方向与边缘走向垂直。

该算子定位精度高,但容易丢失部分边缘。

因为没进行平滑处理,不具有抑制噪声的能力。

用该算子处理边缘陡峭度高且噪声小的图像效果较佳。

Roberts交叉算子为梯度幅值计算提供了一种简单的近似方法:

(1.1)

用卷积模板,上式变成:

(1.2)

其中

由下面的模板计算:

(1.3)

同前面的

梯度算子一样,差分值将在内插点

处计算.Roberts算子是该点连续梯度的近似值,而不是所预期的点

处的近似值.

2.Sobel算子和Prewitt算子

Sobel算子和Prewitt算子都是一阶的微分算子,都是先对图像进行平滑处理,虽然两者都是加权平均滤波,但是前者邻域的像素对当前像素产生的影响不是等价的,距离不同的像素具有不同的权值,对算子结果产生的影响也不同。

这两种算子对噪声都有一定的抑制作用,但不能完全排除检测结果中出现虚假边缘的情况。

这两者对灰度渐变低噪声的图像有较好的检测效果,但是对于混合多复杂噪声的图像处理效果就不理想了。

正如前面所讲,采用

邻域可以避免在像素之间内插点上计算梯度.考虑一下上图中所示的点

周围点的排列.Sobel算子也是一种梯度幅值,

(1.4)

其中的偏导数用下式计算:

(1.5)

其中常数

和其他的梯度算子一样,

可用卷积模板来实现:

图1.1

请注意这一算子把重点放在接近于模板中心的像素点.Sobel算子是边缘检测器中最常用的算子之一.

图1.2

图1.2用于说明Sobel算子和Prewitt算子的邻域像素点标记

Prewitt算子与Sobel算子的方程完全一样,只是常量c=1.所以

(1.6)

请注意,与Sobel算子不同,这一算子没有把重点放在接近模板中心的像素点.

3.拉普拉斯算子

  平滑过的阶跃边缘二阶导数是一个在边缘点处过零的函数.拉普拉斯算子是二阶导数的二维等效式.函数

的拉普拉斯算子公式为

(1.7)

使用差分方程对

方向上的二阶偏导数近似如下:

(1.8)

这一近似式是以点

为中心的.用

替换

,得到

(1.9)

它是以点

为中心的二阶偏导数的理想近似式,类似地,

(1.10)

把这两个式子合并为一个算子,就成为下面能用来近似拉普拉斯算子的模板:

(1.11)

 当拉普拉斯算子输出出现过零点时就表明有边缘存在,其中忽略无意义的过零点(均匀零区).原则上,过零点的位置精度可以通过线性内插方法精确到子像素分辨率,不过由于噪声,结果可能不会很精确.

LoG算法

正如上面所提到的,利用图像强度二阶导数的零交叉点来求边缘点的算法对噪声十分敏感,所以,希望在边缘增强前滤除噪声.为此,Marr和Hildreth[146]将高斯滤波和拉普拉斯边缘检测结合在一起,形成LoG(LaplacianofGaussian,LoG)算法,也称之为拉普拉斯高斯算法.LoG边缘检测器的基本特征是:

1.平滑滤波器是高斯滤波器.

2.增强步骤采用二阶导数(二维拉普拉斯函数).

3.边缘检测判据是二阶导数零交叉点并对应一阶导数的较大峰值.

4.使用线性内插方法在子像素分辨率水平上估计边缘的位置.

LoG算子的输出

是通过卷积运算得到的:

(1.12)

根据卷积求导法有

(1.13)

其中:

(1.14)

称之为墨西哥草帽算子.

4.Canny边缘检测器

检测阶跃边缘的基本思想是在图像中找出具有局部最大梯度幅值的像素点.检测阶跃边缘的大部分工作集中在寻找

Canny边缘检测器是高斯函数的一阶导数,是对信噪比与定位之乘积的最优化逼近算子[Canny1986].我们将通过下面的符号对Canny边缘检测器算法作一概括说明.用

表示图像.使用可分离滤波方法求图像与高斯平滑滤波器卷积,得到的结果是一个已平滑数据阵列

其中

是高斯函数的散布参数,它控制着平滑程度.

已平滑数据阵列

的梯度可以使用

一阶有限差分近似来计算

偏导数的两个阵列

(1.15)

在这个

正方形内求有限差分的均值,以便在图像中的同一点计算x和y的偏导数梯度.幅值和方位角可用直角坐标到极坐标的坐标转化公式来计算:

 (1.16)

(1.39)

其中,反正切函数包含了两个参量,它表示一个角度,其取值范围是整个圆周范围内.为高效率地计算这些函数,尽量不用浮点运算.梯度的幅度和方向也可以通过查找表由偏导数计算..

第一章边缘检测算子的应用

一、Sobel算子图像的处理实例

本设计用算子处理可以分为四步:

首先设计高斯平滑滤波模板;其次读入图片并进行高斯滤波;第三用sobel算子对图像进行处理;最后进行阈值分割细化图像。

第一种方法:

设计程序如下

clc

closeall

clearall

%%%生成高斯平滑滤波模板%%%

hg=zeros(3,3);%设定高斯平滑滤波模板的大小为3*3

delta=0.5;

forx=1:

1:

3

fory=1:

1:

3

u=x-2;

v=y-2;

hg(x,y)=exp(-(u^2+v^2)/(2*pi*delta^2));

end

end

h=hg/sum(hg(:

));

%%%%%%%%%%读入图像%%%%%%%

g=imread('121.jpg');%读入图像文件

f=rgb2gray(im2double(g));

subplot(2,2,1),imshow(f)

title('原始图像');

[m,n]=size(f);

ftemp=zeros(m,n);

rowhigh=m-1;

colhigh=n-1;

%%%高斯滤波%%%

forx=2:

1:

rowhigh-1

fory=2:

1:

colhigh-1

mod=[f(x-1,y-1)f(x-1,y)f(x-1,y+1);f(x,y-1)f(x,y)f(x,y+1);f(x+1,y-1)f(x+1,y)f(x+1,y+1)];

A=h.*mod;

ftemp(x,y)=sum(A(:

));

end

end

f=ftemp

subplot(2,2,2),,imshow(f)

title('高斯滤波器后的图像');

%%利用第一种算法进行边缘检测%%%

%%%%3*3的prewitt算子%%%%%%%%

sx=[-101;-101;-101];

sy=[-1-1-1;000;111];

forx=2:

1:

rowhigh-1

fory=2:

1:

colhigh-1

mod=[f(x-1,y-1)f(x-1,y)f(x-1,y+1);f(x,y-1)f(x,y)f(x,y+1);f(x+1,y-1)f(x+1,y)f(x+1,y+1)];

fsx=sx.*mod;

fsy=sy.*mod;

ftemp(x,y)=sqrt((sum(fsx(:

)))^2+(sum(fsy(:

)))^2);

end

end

fs=im2uint8(ftemp);

subplot(2,2,3),imshow(fs)

title('用prewitt检测的原始图像');

%%%域值分割%%%

TH2=200;%设定阈值

forx=2:

1:

rowhigh-1

fory=2:

1:

colhigh-1

if(fs(x,y)>=TH2)&((fs(x,y-1)<=fs(x,y))&(fs(x,y)>fs(x,y+1)))

fs(x,y)=200;

elseif(fs(x,y)>=TH2)&((fs(x-1,y)<=fs(x,y))&(fs(x,y)>fs(x+1,y)))

fs(x,y)=200;

elsefs(x,y)=50;

end

end

end

subplot(2,2,4),imshow(fs)

title('用prewitt检测并细化后的图像');运行后的图像如下:

prewitt对滤波后的图像处理结果

二、其他近似方法:

第二种方法程序基本与第一种方法相同,只是在sobel算子处理图像核心处将“ftemp(x,y)=sqrt((sum(fsx(:

)))^2+(sum(fsy(:

)))^2);”换成“ftemp(x,y)=max(abs(sum(fsx(:

))),abs(sum(fsy(:

))))”。

第三种类似的将ftemp(x,y)=sqrt((sum(fsx(:

)))^2+(sum(fsy(:

)))^2)换成“ftemp(x,y)=abs(sum(fsx(:

)))+abs(sum(fsy(:

)));”。

显示结果也是类似的在这里就不给出。

三、prewitt算子对噪声图像的处理

prewitt算子根据像素点上下、左右邻点灰度加权差,在边缘处达到极值这一现象检测边缘。

对噪声具有平滑作用,提供较为精确的边缘方向信息,边缘定位精度不够高。

当对精度要求不是很高时,是一种较为常用的边缘检测方法。

Prewitt算子对噪声图像的处理

 

第四章边缘检测方法性能比较

一、边缘检测方法性能比较

  梯度边缘检测方法利用梯度幅值在边缘处达到极值检测边缘。

该法不受施加运算方向限制,同时能获得边缘方向信息,定位精度高,但对噪声较为敏感。

  Roberts算子采用对角线方向相邻两像素之差近似梯度幅值检测边缘。

检测水平和垂直边缘的效果好于斜向边缘,定位精度高,对噪声敏感。

  Sobel算子根据像素点上下、左右邻点灰度加权差,在边缘处达到极值这一现象检测边缘。

对噪声具有平滑作用,提供较为精确的边缘方向信息,边缘定位精度不够高。

当对精度要求不是很高时,是一种较为常用的边缘检测方法。

  Prewitt算子利用像素点上下、左右邻点灰度差,在边缘处达到极值检测边缘。

对噪声具有平滑作用,定位精度不够高。

  Laplace算子是二阶微分算子,利用边缘点处二阶导函数出现零交叉原理检测边缘。

不具方向性,对灰度突变敏感,定位精度高,同时对噪声敏感,且不能获得边缘方向等信息。

 结 语

通过分析几种应用于数字图像处理中的边缘检测算子,根据它们在实践中的应用结果进行研究,主要包括:

Robert边缘算子、Prewitt边缘算子、Sobel边缘算子、Kirsch边缘算子以及Laplacian算子等对图像及噪声图像的边缘检测,根据实验处理结果讨论了几种检测方法的优劣.几种边缘提取算法在边缘明显、噪声很低的情况下会得到很好的边缘效果.

学习心得

通过这次数字图像课程设计,让我可以更娴熟的运用matlab这个软件。

Matlab在工业方面的应用很广泛,我希望能有机会更深刻的学习理解它。

在指导教师的指导下,我顺利的完成了这次数字图像的课程设计,虽然题目是简单的,但对我们的课程学习,和知识的运用有着很好的作用。

总之,我认为这次课程设计是成功的,收获也是丰富的。

参考文献(资料)

1、贾永红.数字图像处理学.电子工业出版社,2003

2、冈萨雷斯.数字图像处理(Matlab版).电子工业出版社2006

3、张兆礼赵春晖梅晓丹.现代图像处理技术及Matlab实现.人民邮电出版社2001

4、王润生.图像理解.长沙:

国防科技大学出版社,1994

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2