常用边缘检测算法的对比分析

常用边缘检测算法的对比分析
常用边缘检测算法的对比分析

数字图像处理作业

班级:1050221

姓名:李博

学号:0 3

常用边缘检测算法分析与比较研究

摘要:

随着计算机视觉技术的不断发展,其在各行各业得到了广泛的应用。而边缘提取技术是计算机视觉技术的一个基本的核心的技术,因为边缘包含着图像的重要信息,边缘提取的效果在一定程度上也影响着后面进一步处理的精度和性能。本文分析和比较了一些经典的边缘及爱你侧算子,然后对其中的不足和缺陷,提出了一种改进Canny的算法,实验结果表明,改进算法并使得边缘提取的效果在一定程度上得到了改善。

1 概述

1.1 . 研究的目的和意义

数字图像处理技术的迅猛发展,其应用前景得到了不可限量的扩展,如今各行各业都在积极发展与图像相关的技术。其应用逐渐凸显其魅力,其应用如医学影像、航天航空、无人驾驶、自动导航、工业控制、导弹制导、文化艺术等。边缘检测技术在图像处理和计算机视觉等领域骑着重要的作用,是图像分析、模式识别、目标检测与分割等的前期处理。前期边缘检测的好坏,直接影响后期更高级处理的精度。自从1986年John Canny提出了最优边缘检测算子的三条准则并推导出了一个近似实现。但是在实际中,真正实现这一目标尚有较大的难度。这是因为:(1)实际图像一般都含有噪声,并且噪声的分布信息业是未知的,同时噪声和边缘都属于高频信息,在进行滤波的同时,虽然能够在一定程度上抑制噪声,却也丢失了边缘信息。(2)由于场景、光照条件的边缘等原因,同一场景在不同光照条件下得到的边缘可能也是不同的,设置的阈值也可能是不同的。针对这些问题,如何进行改进,并得到一种较理想的边缘检测算子是有必要的。

1.2. 本文的框架结构

本论文的第一部分主要是介绍了本课题研究的目的和意义;第二部分主要是对边缘检测进行概述,并对经典的边缘检测算子进行了分析和比较;;第三部分进行了实验对比和分析,得出结论。

2. 边缘检测概述

2.1 边缘的定义

首先介绍什么是边缘。在数字图像中,边缘是指图像局部变化最显著的部分,边缘主要存在于目标与目标,目标与背景之间,是图像局部特性的不连续性,如灰度的突变、纹理结构的图标、颜色的图标等。尽管图像的边缘点产生的原因各不相同,但他们都是图形上灰度不连续或灰度几句辩护的点,图像边缘分为阶跃状、斜坡状和屋顶状。

2.2 边缘检测的基本方法

一般图像边缘检测方法主要有如下四个步骤:

1)图像滤波:传统边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器

的性能。需要指出的是,大多数滤波器在降低噪声的同时也造成了了边缘强度的损失,因此,在增强边缘和降低噪声之间需要一个折衷的选择。

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

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

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

近20多年来提出了许多边缘检测算子,在这里我们仅讨论集中常见的边缘检测算子。

2.3常见边缘检测算子分析 1)差分边缘检测

处理数字图像的离散域时,可以用图像的一阶差分来代替图像函数的导数。定义二维离散图像函数在 X 轴方向的一阶差分为:

),(),1(j i f j i f -+

(2.3.1)

Y 轴方向上的一阶差分定义为:

),()1,(j i f j i f -+

(2.3.2)

利用图像灰度的一阶导数算子在灰度值变化显著的地方得到的极值来检测边缘点。它在某一个点的值就代表了该点的边缘强度值,可通过设置阈值来进一步得到边缘图像。但用差分的方法进行边缘检测必须使差分的方向和边缘的方向相垂直,这就需要对图像的不同方向分别进行差分运算,增加了运算量。一般可将边缘分为水平边缘、垂直边缘和对角线边缘:

00

0110

00-

010010-

00

010001- 图 1 水平边缘

图 2 垂直边缘

图 3 对角线边缘

显然,差分边缘是最原始、最基础的方法,这种算子具有方向性,并且由于计算不方便等原因,在现在已经很少应用了,但其思想还是很多其他算法的基础。

2)Reborts 算子

Reboerts 算子是一种利用局部差分来寻找边缘的算子,Roberts 梯度算子所采用的是对角方向相邻两像素值之差,算子形式如下:

)1,1(),(---=j i f j i f Gx (2.3.3 )1,(),1(---=j i f j i f Gy

(2.3.4 2

2|),(|y x G G y x G +=

(2.3.5)

Roberts 梯度算子对应的卷积模版为:

?

?

?

???-=1001Gx

?

?

?

???-=0110Gy (2.3.6)

用以上两个卷积算子与图像运算后,可求出图像的梯度幅值 G ( x,y),然后选择 适当的阈值τ ,若 G ( x,y)>τ,则 (i ,j)为边缘点,否则,判断 (i ,j)为非边缘点。由此得到一个二值图像 { g (i,j)},即边缘图像。Roberts 算子采用的是用对角线方向上相邻两像素的差近似梯度幅值来检测边缘,它的定位精度高,对于水平和垂直方向的边缘,检测效果较好,而对于有一定倾角的斜边缘,检测效果则不理想,存在着许多的漏检。另外,在含噪声的情况下,Roberts 算子不能有效的抑制噪声,容易产生一些伪边缘。因此,该算子适合于对低噪声且具有陡峭边缘的图像提取边缘。

3)Sobel 算子

Sobel 算子在边缘检测算子扩大了其模版,在边缘检测的同时尽量削弱了噪声。其模版大小为3×3,其将方向差分运算与局部加权平均相结合来提取边缘。在求取图像梯度之前,先进行加权平均,然后进行未分,加强了对噪声的一致。Sobel 算子所对应的卷积模版为:

??

??

?

?????---=101202`101Gx

??

??

?

?????--=121000121Gy (2.3.7)

图像中的每个像素点和以上水平和垂直两个卷积算子做卷积运算后,再计算得到

梯度幅值 G ( x,y),然后选取适当的阈值τ ,若 G ( x,y)>τ,则 (i ,j)为边缘点,否则,判断 (i ,j)为非边缘点。由此得到一个二值图像 { g (i,j)},即边缘图像。Sobel 算子在空间上比较容易实现,不但产生较好的边缘检测效果,同时,由于其引入了局部平均,使其受噪声的影响也较小。若使用较大的邻域,抗噪性会更好,但也增加了计算量,并且得到的边缘比较粗。在对精度要求不是很高的场合下,Sobel 算子是一种较为常用的边缘检测算法。

4)Prewitt 算子

同 Sobel 算子相似,Prewitt 算子也是一种将方向的差分运算和局部平均相结合的方法,也是取水平和垂直两个卷积核来分别对图像中各个像素点做卷积运算,所不同的是,Sobel 算子是先做加权平均然后再微分,Prewitt 算子是先平均后求微分,其对应的卷积模版为:

??

??

?

?????---=101101`101Gx

??

??

?

?????---=111000111Gy (2.3.8)

图像中的每个像素点和以上水平和垂直两个卷积算子做卷积运算后,再计算得到

梯度幅值 G ( x,y),然后选取适当的阈值τ ,若 G ( x,y)>τ,则 (i ,j)为边缘点,否则,判断 (i ,j)为非边缘点。由此得到一个二值图像 { g (i,j)},即边缘图像。

在此基础上,有人提出了改进的Prewitt 算子,将其扩展到八个方向,依次

用这些边缘模板去检测图像,与被检测区域最为相似的样板给出最大值。用这个最大值作为算子的输出值 P[ i ,j],这样就可将边缘像素检测出来。八个方向的 Prewitt 算子模板及其所对应的边缘方向如下所示:

????

??????----111121`111 ????

??????----111121`111

????

??????----111121`111

????

?

?????---111121`111 0°方向

45°方向

90°方向

135°方向

????

?

?????----111121111

????

?

?????----111121111

????

?

?????----111121111 ????

?

?????----111121`111 180°方向

225°方向 270°方向

315°方向

Prewitt 算子通过对图像上的每个像素点的八方向邻域的灰度加权差之和来

进行检测边缘,对噪声有一定抑制作用,抗噪性较好,但由于采用了局部灰度平均,因此容易检测出伪边缘,并且边缘定位精度较低。

5)Kirsch 算子

Kirsch 算子是一种 3×3 的非线性方向算子。其基本思想是希望改进取平均值的过程,从而尽量使边缘两侧的像素各自与自己同类的像素取平均值,然后再求平均值之差,来减小由于取平均值所造成的边缘细节丢失。通常采用八方向 Kirsch 模板的方法进行检测,取其中最大的值作为边缘强度,而将与之对应的方向作为边缘方向。常用的八方向 Kirsch 模板如下所示:

????

??????-----533503533 ??????????-----333503`55

3 ??????????-----333303555

??????????-----333305355

????

?

?????-----335305335 ????

??????-----355305333 ????

??????-----555303333 ????

??????-----553503`333 实际的应用中,通常都是利用简单的卷积核来计算方向差分的,不同的算子对应着不同的卷积核。它们在图像的像素点上所产生的两个方向的偏导数用均方值或者绝对值求和的形式来近似代替梯度幅值,然后选取一个合适的阈值,用所得到的梯度幅值和所设定的阈值进行比较来判断边缘点。若大于所取的阈值,则判断为边缘点;否则,判断为非边缘点。很显然,在提取边缘的过程中,阈值 的选取特别重要,尤其在含噪图像中,阈值的选择要折衷考虑噪声造成的伪边缘和有效边缘的丢失。

6)Laplace 算子

拉普拉斯算子是不依赖于边缘方向的二阶导数算子,它是一个标量而不是向

量,具有旋转不变即各向同性的性质。若只关心边缘点的位置而不需要了解一其周围的实际灰度差时,一般选择该算子提取图像的边缘。Laplace 算子的定义为:

22222

y

f

x f f ??+??=?

(2.3.9)

用差分方程近似二阶偏倒数的结果如下:

)1,(),(2)1,(2

2-+-+=??y x f y x f y x f x

f

(2.3.10)

),1(),(2),1(2

2y x f y x f y x f y

f

-+-+=?? (2.3.11)

将这两个式子合并,可以得到近似Laplace 算子的模版:

????

? ??-≈?010*******f

(2.3.12)

当Laplace 算子输出出现过零点时就表明有边缘存在,其中忽略无意义的过

零点(均匀零区)。原则上,过零点的位置精度可以通过线性内插方法精确到子像素分辨率。但是拉普拉斯算子在图像边缘检测中并不常用。主要原因有:任何包含有二阶导数的算子比只包含有一阶导数的算子更易受噪声的影响,一阶导数很小的局部峰值也能导致二阶导数过零点,所以Laplace 算子对噪声具有无法接受的敏感性; Laplace 算子的幅值产生双边元,这是复杂的分割不希望有的结果;最后,Laplace 算子不能检测边缘的方向。为了避免噪声的影响,必须采用特别有效的滤波方法。所以,人们提出了改进的功LOG 算子。

7)LOG 算子(高斯拉普拉斯算子) LOG 算子基本思想是:先在一定的范围内做平滑滤波,然后再利用差分算子来检测在相应尺度上的边缘。滤波器的选择要考虑以下两个因素:其一是滤波器在空间上要求平稳,即要求空间位置误差 Δ x 要小;其二是平滑滤波器本身要求是带通滤波器,并且在有限的带通内是平稳的,即要求频域误差 Δω 要小。根据信号处理中的测不准原理, Δx 和 Δ ω是相互矛盾的,而达到测不准下限的滤波器就是高斯滤波器。Marr 和 Hildreth 提出的这种差分算子是各向同性的拉普拉斯二阶差分算子。该边缘检测器的基本特征是: (1) 所用的平滑滤波器是高斯滤波器

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

(3) 边缘检测的判据是二阶导数过零点并且对应一阶导数的极大值

该方法的特点是先用高斯滤波器与图像进行卷积,既平滑了图像又降低了噪声,使孤立的噪声点和较小的结构组织被滤除。然而由于对图像的平滑会导致边缘的延展,因此只考虑那些具有局部梯度极大值的点作为边缘点,这可以用二阶导数的零交叉来实现。拉普拉斯函数可用作二维二阶导数的近似,因为它是一种标量算子。为了避免检测出非显著的边缘,所以应该选择一阶导数大于某一阈值的零交叉点来作为边缘点。实际应用中,常用的LOG 算子的模版为:

说明,高斯平滑运算不但可以滤除噪声,还会导致图像中的边缘和其它尖锐不连续部分模糊,而模糊程度取决于空间尺度因子σ的大小。σ越大,高斯滤波对噪声的滤除效果越好,但同时也会丢失重要的边缘信息,影响到边缘检测器的性能。如果σ较小,又可能导致平滑作用不完全而留有较多的噪声。因此在实际应用中,要根据情况选择适当的σ。

8)Canny算子

1986年,Canny从边缘检测算子应该满足的三个准则出发,推导出了最优边缘检测算子Canny算子,该算子是目前理论上相对最完善的一种边缘检测算法。Canny提出的评价边缘检测性能优劣的三个准则分别是:

(1)好的信噪比准则。即将非边缘点判为边缘点的概率要低,将边缘点判为非边缘点的概率要低;

(2)好的定位性能准则。即检测出的边缘点要尽可能在实际边缘的中心;

(3)单边缘响应准则。即单一边缘具有唯一响应,单一边缘产生的多个响

应的概率要低,并且对虚假边缘的响应应得到最大抑制。

利用Canny算子检测边缘的土体算法如下:

(1)用式所示的高斯函数h(r)对图像进行平滑滤波,去除图像中的噪声。

(2)在每一点计算出局部梯度和边缘方向,可以利用Sobel算子、Roberts算子等来计算。边缘点定义为梯度方向上其强度局部最大的点。

(3)对梯度进行“非极大值抑制”。在第二步中确定的边缘点会导致梯度幅度图像中出现脊。然后用算法追踪所有脊的顶部,并将所有不在脊的顶部的像素设为零,以便在输出中给出一条细线。

(4)双阐值化和边缘连接。脊像素使用两个闽值Tl和竹做阂值处理,其中Tl

3. 实验与结果分析

实验在MATLAB R2007a平台下进行,实验的结果如下图所示:

图2原始图图3 Roberts算子

图4 Sobel算子图5 Prewitt算子

图6 Kirsch算子图7 LOG算子

图5Canny算子

4 代码

function kirsch= edgekirsch(gray,th)

[m,n]=size(gray); %得到图像的大小(长和宽)

temp=double(gray);

kirsch=zeros(m,n); %定义一个大小为S的零矩阵

%利用Sobel算子进行边缘提取

for i=2:m-1

for j=2:n-1

d1

=(5*temp(i-1,j-1)+5*temp(i-1,j)+5*temp(i-1,j+1)-3*temp(i,j-1)-3*temp(i,j+1)-3*temp(i+1,j-1)-3* temp(i+1,j)-3*temp(i+1,j+1))^2; %Sobel算子的dx(垂直梯度)

d2

=((-3)*temp(i-1,j-1)+5*temp(i-1,j)+5*temp(i-1,j+1)-3*temp(i,j-1)+5*temp(i,j+1)-3*temp(i+1,j-1) -3*temp(i+1,j)-3*temp(i+1,j+1))^2; %Sobel算子的dy(水平梯度)

d3

=((-3)*temp(i-1,j-1)-3*temp(i-1,j)+5*temp(i-1,j+1)-3*temp(i,j-1)+5*temp(i,j+1)-3*temp(i+1,j-1)-3*temp(i+1,j)+5*temp(i+1,j+1))^2;

d4

=((-3)*temp(i-1,j-1)-3*temp(i-1,j)-3*temp(i-1,j+1)-3*temp(i,j-1)+5*temp(i,j+1)-3*temp(i+1,j-1)+ 5*temp(i+1,j)+5*temp(i+1,j+1))^2;

d5

=((-3)*temp(i-1,j-1)-3*temp(i-1,j)-3*temp(i-1,j+1)-3*temp(i,j-1)-3*temp(i,j+1)+5*temp(i+1,j-1)+ 5*temp(i+1,j)+5*temp(i+1,j+1))^2;

d6

=((-3)*temp(i-1,j-1)-3*temp(i-1,j)-3*temp(i-1,j+1)+5*temp(i,j-1)-3*temp(i,j+1)+5*temp(i+1,j-1) +5*temp(i+1,j)-3*temp(i+1,j+1))^2;

d7

=(5*temp(i-1,j-1)-3*temp(i-1,j)-3*temp(i-1,j+1)+5*temp(i,j-1)-3*temp(i,j+1)+5*temp(i+1,j-1)-3*

temp(i+1,j)-3*temp(i+1,j+1))^2;

d8

=(5*temp(i-1,j-1)+5*temp(i-1,j)-3*temp(i-1,j+1)+5*temp(i,j-1)-3*temp(i,j+1)-3*temp(i+1,j-1)-3* temp(i+1,j)-3*temp(i+1,j+1))^2;

tmp=d1;

if d2>tmp

tmp=d2;

else if d3>tmp

tmp=d3;

else if d4>tmp

tmp=d4;

else if d5>tmp

tmp=d5;

else if d6>tmp

tmp=d6;

else if d7>tmp

tmp=d7;

else if d8>tmp

tmp=d8;

end

end

end

end

end

end

end

kirsch(i,j)=round(sqrt(tmp));

% kirsch(i,j)=round(sqrt(d1+d2+d3+d4+d5+d6+d7+d8)); %梯度模取整

end

end

for i=1:m

for j=1:n

if kirsch(i,j)>th

kirsch(i,j)=255; %将梯度值与阈值比较,大于T则把图像的灰度变为255,小于T则把图像的灰度变为0

else

kirsch(i,j)=0;

end

end

end

close all

clear;

clc;

origin=imread('lena.jpg');

gray=rgb2gray(origin); roberst 边缘检测器

roberts=edge(gray,'roberts'); sobel 边缘检测器

sobel=edge(gray,'sobel'); prewitt 边缘检测器

prewitt=edge(gray,'prewitt'); kirsch 边缘检测器

kirsch=edgekirsch(gray,256); LOG 边缘检测器

log=edge(gray,'log'); canny 边缘检测器

canny=edge(gray,'canny');

imwrite(roberts,'roberts.jpg');

imwrite(sobel,'sobel.jpg');

imwrite(prewitt,'prewitt.jpg');

imwrite(kirsch,'kirsch.jpg');

imwrite(log,'log.jpg');

imwrite(canny,'canny.jpg');

figure(1),imshow(origin),title('original image');

figure(2),imshow(roberts),title('roberts edge');

figure(3),imshow(sobel),title('sobel edge');

figure(4),imshow(prewitt),title('prewitt edge');

figure(5),imshow(kirsch),title('kirsch edge');

5. 总结

本文分析和比较了经典的边缘检测算法,并在MATLAB R2007a平台下进行了试验,从上面的实验结果可以看出,虽然边缘检测的算法有很多种,但是检测出来的效果与理想的效果相比还有很大的提高空间。幸运地是,近年来,研究学者们又提出了不少新的边缘检测算法,如多尺度边缘检测算法、Marr-Hidertch

边缘检测算法、witkin边缘检测算法、基于二进小波变换的边缘检测算法、基于塔式小波变换的边缘检测算法、基于模糊增强的边缘检测算法、基于Snake模型的边缘检测算法、曲线拟合的边缘检测算法、Susan边缘检测算法等等。新算法的提出,在一定程度上解决了经典边缘检测算法的不足和缺陷,却也引进了其他的一些特点,如复杂性提高、内存开销增大、耗时等。因此,如何设计一种有效、自适应强、符合人类视觉特点的边缘检测算法还有待于进一步研究。

基于小波变换的图像边缘检测算法

基于小波变换的图像边缘检测算法仿真实 现 学生姓名:XX 指导教师:xxx 专业班级:电子信息 学号:00000000000 学院:计算机与信息工程学院 二〇一五年五月二十日

摘要 数字图像边缘检测是图像分割、目标区域识别和区域形态提取等图像分析领域中十分重要的基础,是图像识别中提取图像特征一个重要方法。 目前在边缘检测领域已经提出许多算法,但是提出的相关理论和算法仍然存在很多不足之处,在某些情况下仍然无法很有效地检测出目标物的边缘。由于小波变换在时域和频域都具有很好的局部化特征,并且具有多尺度特征,因此,利用多尺度小波进行边缘检测既能得到良好的抑制噪声的能力,又能够保持边缘的完备。 本文就是利用此方法在MATLAB环境下来对数字图像进行边缘的检测。 关键词:小波变换;多尺度;边缘检测

Abstract The boundary detection of digital image is not only the important foundation in the field of image segmentation and target area identification and area shape extraction, but also an important method which extract image feature in image recognition. Right now, there are a lot of algorithms in the field of edge detection, but these algorithms also have a lot of shotucuts, sometimes, they are not very effective to check the boundary of the digital image. Wavelet transform has a good localization characteristic in the time domain and frequency domain and multi-scale features, So, the boundary detection of digital image by using multi-scale wavelet can not only get a good ability to suppress noise, but also to maintain the completeness of the edge. This article is to use this method in the environment of MATLAB to detect the boundary of the digital image. Keywords: wavelet transform; multi-scale; boundary detection.

几种常用边缘检测算法的比较

几种常用边缘检测算法的比较摘要:边缘是图像最基本的特征,边缘检测是图像分析与识别的重要环节。基于微分算子的边缘检测是目前较为常用的边缘检测方法。通过对Roberts,Sobel,Prewitt,Canny 和Log 及一种改进Sobel等几个微分算子的算法分析以及MATLAB 仿真实验对比,结果表明,Roberts,Sobel 和Prewitt 算子的算法简单,但检测精度不高,Canny 和Log 算子的算法复杂,但检测精度较高,基于Sobel的改进方法具有较好的可调性,可针对不同的图像得到较好的效果,但是边缘较粗糙。在应用中应根据实际情况选择不同的算子。 0 引言 边缘检测是图像分析与识别的第一步,边缘检测在计算机视觉、图像分析等应用中起着重要作用,图像的其他特征都是由边缘和区域这些基本特征推导出来的,边缘检测的效果会直接影响图像的分割和识别性能。边缘检测法的种类很多,如微分算子法、样板匹配法、小波检测法、神经网络法等等,每一类检测法又有不同的具体方法。目前,微分算子法中有Roberts,Sobel,Prewitt,Canny,Laplacian,Log 以及二阶方向导数等算子检测法,本文仅将讨论微分算子法中的几个常用算子法及一个改进Sobel算法。 1 边缘检测

在图像中,边缘是图像局部强度变化最明显的地方,它主要存在于目标与目标、目标与背景、区域与区域( 包括不同色彩) 之间。边缘表明一个特征区域的终结和另一特征区域的开始。边缘所分开区域的内部特征或属性是一致的,而不同的区域内部特征或属性是不同的。边缘检测正是利用物体和背景在某种图像特征上的差异来实现检测,这些差异包括灰度、颜色或纹理特征,边缘检测实际上就是检测图像特征发生变化的位置。边缘的类型很多,常见的有以下三种: 第一种是阶梯形边缘,其灰度从低跳跃到高; 第二种是屋顶形边缘,其灰度从低逐渐到高然后慢慢减小; 第三种是线性边缘,其灰度呈脉冲跳跃变化。如图1 所示。 (a) 阶梯形边缘(b) 屋顶形边缘 (b) 线性边缘 图像中的边缘是由许多边缘元组成,边缘元可以看作是一个短的直线段,每一个边缘元都由一个位置和一个角度确定。边缘元对应着图像上灰度曲面N 阶导数的不连续性。如果灰度曲面在一个点的N 阶导数是一个Delta 函数,那么就

图像边缘检测算法体验步骤

图像边缘检测算法体验步骤 图像边缘检测算法体验步骤(Photoshop,Matlab)1. 确定你的电脑上已经安装了Photoshop和Matlab2. 使用手机或其他任何方式,获得一张彩色图像(任何格式),建议图像颜色丰富,分辨率比较高,具有比较明显的图像边界(卡通图像,风景图像,桌面图像)3. 将图像保存到一个能够找到的目录中,例如img文件夹(路径上没有汉字)4. 启动Photoshop,打开img文件夹中的图像5. 在工具箱中选择“矩形选择”工具,到图面上选择一个区域(如果分辨率比较高,建议不要太大,否则计算过程比较长)6. 点击下拉菜单【文件】-【新建】,新建一个与矩形选择框同样尺寸的Photoshop图像,不要求保存该图像7. 将该彩色图像转换为亮度图像,即点击下拉菜单【图像】-【模式】-【灰度】,如提示是否合并,选择“Yes”8. 将该单色的亮度图像另存为Windows的BMP文件,点击下拉菜单【文件】-【存储为】,在“存储为”窗口中,为该文件起一个名字,例如test1(保存为test1.bmp)9. 启动Matlab,将当期路径(Current Directory)定位到图像文件夹,例如这里的img文件夹10. 使用imread命令读入该图像,在命令行输入:>> f = imread(test1.bmp);11. 在Matlab中显示该图像,在命令行输入:>> figure, imshow(f)12. 然后,分别使用Matlab图像工具箱中的Edge函数,分别使用Sobel算法,高斯-拉普拉斯(Log)算法和Canny算法得到的边缘图像:在命令行输入:>> g_sobel = edge(f, sobel, 0.05); >> g_log = edge(f, log, 0.003, 2.25); >> g_canny = edge(f, canny, [0.04 0.10], 1.5);13 得到边缘图像计算结果后,显示这些边缘图像: >> figure, imshow(g_sobel) >> figure, imshow(g_log) >> figure, imshow(g_canny)14 可以用不同的图像做对比,后续课程解释算法后,可以变换不同的阈值,得到不同的边缘图像

Sobel边缘检测算子

经典边缘检测算子比较 一 各种经典边缘检测算子原理简介 图像的边缘对人的视觉具有重要的意义,一般而言,当人们看一个有边缘的物体时,首先感觉到的便是边缘。灰度或结构等信息的突变处称为边缘。边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。需要指出的是,检测出的边缘并不等同于实际目标的真实边缘。由于图像数据时二维的,而实际物体是三维的,从三维到二维的投影必然会造成信息的丢失,再加上成像过程中的光照不均和噪声等因素的影响,使得有边缘的地方不一定能被检测出来,而检测出的边缘也不一定代表实际边缘。图像的边缘有方向和幅度两个属性,沿边缘方向像素变化平缓,垂直于边缘方向像素变化剧烈。边缘上的这种变化可以用微分算子检测出来,通常用一阶或两阶导数来检测边缘,如下图所以。不同的是一阶导数认为最大值对应边缘位置,而二阶导数则以过零点对应边缘位置。 (a )图像灰度变化 (b )一阶导数 (c )二阶导数 基于一阶导数的边缘检测算子包括Roberts 算子、Sobel 算子、Prewitt 算子等,在算法实现过程中,通过22?(Roberts 算子)或者33?模板作为核与图像中的每个像素点做卷积和运算,然后选取合适的阈值以提取边缘。拉普拉斯边缘检测算子是基于二阶导数的边缘检测算子,该算子对噪声敏感。一种改进方式是先对图像进行平滑处理,然后再应用二阶导数的边缘检测算子,其代表是LOG 算子。前边介绍的边缘检测算子法是基于微分方法的,其依据是图像的边缘对应一阶导数的极大值点和二阶导数的过零点。Canny 算子是另外一类边缘检测算子,它不是通过微分算子检测边缘,而是在满足一定约束条件下推导出的边缘检测最优化算子。 1 Roberts (罗伯特)边缘检测算子 景物的边缘总是以图像中强度的突变形式出现的,所以景物边缘包含着大量的信息。由于景物的边缘具有十分复杂的形态,因此,最常用的边缘检测方法是所谓的“梯度检测法”。 设(,)f x y 是图像灰度分布函数; (,)s x y 是图像边缘的梯度值;(,)x y ?是梯度的方向。则有 [][]{} 1 2 22 (,)(,)(,)(,)(,)s x y f x n y f x y f x y n f x y = +-++- (1) (n=1,2,...) [][]{}1 (,)tan (,)(,)/(,)(,)x y f x y n f x y f x n y f x y ?-=+-+- (2)

实验三图像分割与边缘检测

数字图像处理实验报告 学生姓名王真颖 学生学号L0902150101 指导教师梁毅雄 专业班级计算机科学与技术1501 完成日期2017年11月06日

计算机科学与技术系信息科学与工程学院

目录 实验一.................................................................................................. 错误!未定义书签。 一、实验目的.................................................................................................... 错误!未定义书签。 二、实验基本原理 ........................................................................................... 错误!未定义书签。 三、实验内容与要求....................................................................................... 错误!未定义书签。 四、实验结果与分析....................................................................................... 错误!未定义书签。实验总结............................................................................................... 错误!未定义书签。参考资料.. (3) 实验一图像分割与边缘检测 一.实验目的 1. 理解图像分割的基本概念; 2. 理解图像边缘提取的基本概念; 3. 掌握进行边缘提取的基本方法;

图像边缘检测方法比较研究

图像边缘检测方法比较研究 作者:关琳琳孙媛 来源:《现代电子技术》2008年第22期 摘要:边缘检测在数字图像处理中有着重要的作用。系统分析目前具有代表性的边缘检测方法,并用IDL6.3软件实现各种算法。实验结果表明,各种方法均有各自的优缺点和适用条件,在做图像边缘检测之前,应对图像进行分析,针对图像的特点和应用需求选用合适的方法。 关键词:边缘检测;检测算子;高通滤波;小波变换 中图分类号:TP391文献标识码:A 文章编号:1004-373X(2008)22-096-03 Comparison of Image Edge Detection Methods GUAN Linlin1,SUN Yuan2 (1.Department of Resource Science and Technology,Beijing Normal University,Beijing,100875,China; 2.96656 Unit of Second Artillery F orces,Chinese People′s Liberation Army,Beijing,100820,China) Abstract:Edge detection plays an important role in digital image processing.This paper comprehensively analyze the representative methods of edge detection at present,and realizes each algorithm with the IDL6.3 software.Results indicate that each method has some advantages and limitations.It should be carefully selected according to the characteristics of the image as well as application needs before conducting edge detection. Keywords:edge detection;detective operators;high-pass filtering;wavelet transform 1 引言 边缘检测技术是图像特征提取中的重要技术之一,也是图像分割、目标区域识别、区域形状提取等图像分析方法的基础。近年来,边缘检测技术被广泛地应用在各个领域,例如工程技术中零件检查[1]、医学中器官病变状况观察[2]、遥感图像处理中道路等典型地物的提取[3]以及估算遥感平台的稳定精度[4]等。这使得如何快速、准确地获得边缘信息成为国内外研究的热点。边缘检测方法在空间域和频域中均可以实现,而且不断涌现出新技术新方法。这些方法

边缘检测原理(内含三种算法)

边缘检测原理的论述

摘要 数字图像处理技术是信息科学中近几十年来发展最为迅速的学科之一。图像边缘是图像最基本的一种特征,边缘在图像的分析中起着重要的作用。边缘作为图像的一种基本特征,在图像识别、图像分割、图像增强以及图像压缩等的领域中有较为广泛的应用,其目的就是精确定位边缘,同时更好地抑制噪声。目前,数字图像处理技术被广泛应用于航空航天、通信、医学及工业生产等领域中。图像边缘提取的手段多种多样,本文主要通过MATLAB语言编程分别用不同的算子例如Roberts算子、Prewitt算子、Sobel算子、Kirsch 算子、Laplacian算子、Log算子和Canny算子等来实现静态图像的边缘检测,并且和检测加入高斯噪声的图像进行对比。阐述了不同算子在进行图像边缘提取的特点,并在此基础上提出利用小波变换来实现静态图像的边缘检测。 【关键字】图像边缘数字图像边缘检测小波变换 背景 图像处理就是对图像信息加工以满足人的视觉心理或应用需求的方法。图像处理方法有光学方法和电子学方法。从20世纪60年

代起随着电子计算机和计算技术的不断提高和普及,数字图像处理进入了高速发展时期,而数字图像处理就是利用数字计算机或其它的硬件设备对图像信息转换而得到的电信号进行某些数学处理以提高图像的实用性。 计算机进行图像处理一般有两个目的:(1)产生更适合人观察和识别的图像。(2)希望能由计算机自动识别和理解图像。数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域的重要基础,图像处理和分析的第一步往往就是边缘检测。 边缘是图象最基本的特征.边缘检测在计算机视觉、图象分析等应用中起着重要的作用,是图象分析与识别的重要环节,这是因为子图象的边缘包含了用于识别的有用信息.所以边缘检测是图像分析和模式识别的主要特征提取手段。 所谓边缘是指其周围像素灰度后阶变化或屋顶状变化的那些像素的集合,它存在于目标与背景、目标与目标、区域与区域,基元与基元之间。因此它是图象分割所依赖的重要的特征,也是纹理特征的重要信息源和形状特征的基础;而图象的纹理形状特征的提取又常常依赖于图象分割。图象的边缘提取也是图象匹配的基础,因为它是位置的标志,对灰度的变化不敏感,它可作为匹配的特征点。 图象的其他特征都是由边缘和区域这些基本特征推导出来 的.边缘具有方向和幅度两个特征.沿边缘走向,像素值变化比较平缓;而垂直与边缘走向,则像素值变化比较剧烈.而这种剧烈可能呈

图像边缘检测方法的研究与实现刘法200832800066

图像边缘检测方法的研究与实现刘法200832800066

青岛大学专业课程设计 院系: 自动化学院 专业: 电子信息工程 班级: 08级电子信息工程3班学生姓名: 刘法 指导教师: 王汉萍庄晓东 日期: 2011年12月23日

题目:图像边缘检测方法的研究与实现 一、边缘检测以及相关概念 1.1边缘,边缘检测的介绍 边缘(edge)是指图像局部强度变化最显著的部分.边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础.图像分析和理解的第一步常常是边缘检测(edge detection). 边缘检测是指使用数学方法提取图像像元中具有亮度值(灰度)空间方向梯度大的边、线特征的过程。 在讨论边缘算子之前,首先给出一些术语的定义: 边缘点:图像中具有坐标] ,[j i且处在强度显著变化的位置上的点.边缘段:对应于边缘点坐标] i及其方位 ,边缘的方位可能是梯度角. ,[j 边缘检测器:从图像中抽取边缘(边缘点和边缘段)集合的算法. 轮廓:边缘列表,或是一条表示边缘列表的拟合曲线. 边缘连接:从无序边缘表形成有序边缘表的过程.习惯上边缘的表示采用顺时针方向序. 边缘跟踪:一个用来确定轮廊的图像(指滤波后的图像)搜索过程. 边缘点的坐标可以是边缘位置像素点的行、列整数标号,也可以在子像素分辨率水平上表示.边缘坐标可以在原始图像坐标系上表示,但大多数情况下是在边缘检测滤波器的输出图像的坐标系上表示,因为滤波过程可能导致图像坐标平移或缩放.边缘段可以用像素点尺寸大小的小线段定义,或用具有方位属性的一个点定义.请注意,在实际中,边缘点和边缘段都被称为边缘.边缘连接和边缘跟踪之间的区别在于:边缘连接是把边缘检测器产生的无序边缘集作为输入,输出一个有序边缘集;边缘跟踪则是将一幅图像作为输入,输出一个有序边缘集.另外,边缘检测使用局部信息来决定边缘,而边缘跟踪使用整个图像信息来决定一个像素点是不是边缘. 1.2 边缘检测算子 边缘检测是图像特征提取的重要技术之一, 边缘常常意味着一个区域的终结和另一个区域的开始. 图像的边缘包含了物体形状的重要信息,它不仅在分析图像时大幅度地减少了要处理的信息量,而且还保护了目标的边界结构. 因此,边缘检测可以看做是处理许多复杂问题的关键. 边缘检测的实质是采用某种算法来提取出图像中对对象与背景间的交界线。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此可以用局部图像微分技术来获取边缘检测算子。经典的边缘检测方法是对原始图像中的像素的某个邻域来构造边缘检测算子。以下是对几种经典的边缘检测算子进行理论分析,并对各自的性能特点做出比较和评价。 边缘检测的原理是:由于微分算子具有突出灰度变化的作用,对图像进行微分运算,在图像边缘处其灰度变化较大,故该处微分计算值教高,可将这些微分值作为相应点的边缘强度,通过阈值判别来提取边缘点,即如果微分值大于阈值,则为边缘点。

Canny边缘检测

Canny边缘检测 图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,既从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。图象的边缘部分集中了图象的大部分信息,图象边缘的确定与提取对于整个图象场景的识别与理解是非常重要的,同时也是图象分割所依赖的重要特征,边缘检测主要是图象的灰度变化的度量、检测和定位,自从1959提出边缘检测以来,经过五十多年的发展,已有许多中不同的边缘检测方法。根据作者的理解和实践,本文对边缘检测的原理进行了描述,在此基础上着重对Canny检测算法的实现进行详述。 本文所述内容均由编程验证而来,在实现过程中,有任何错误或者不足之处大家共同讨论(本文不讲述枯燥的理论证明和数学推导,仅仅从算法的实现以及改进上进行原理性和工程化的描述)。 1、边缘检测原理及步骤 在之前的博文中,作者从一维函数的跃变检测开始,循序渐进的对二维图像边缘检测的基本原理进行了通俗化的描述。结论是:实现图像的边缘检测,就是要用离散化梯度逼近函数根据二维灰度矩阵梯度向量来寻找图像灰度矩阵的灰度跃变位置,然后在图像中将这些位置的点连起来就构成了所谓的图像边缘(图像边缘在这里是一个统称,包括了二维图像上的边缘、角点、纹理等基元图)。 在实际情况中理想的灰度阶跃及其线条边缘图像是很少见到的,同时大多数的传感器件具有低频滤波特性,这样会使得阶跃边缘变为斜坡性边缘,看起来其中的强度变化不是瞬间的,而是跨越了一定的距离。这就使得在边缘检测中首先要进行的工作是滤波。 1)滤波:边缘检测的算法主要是基于图像强度的一阶和二阶导数,但导数通常对噪声很敏感,因此必须采用滤波器来改善与噪声有关的边缘检测器的性能。常见的滤波方法主要有高斯滤波,即采用离散化的高斯函数产生一组归一化的高斯核(具体见“高斯滤波原理及其编程离散化实现方法”一文),然后基于高斯核函数对图像灰度矩阵的每一点进行加权求和(具体程序实现见下文)。 2)增强:增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将图像灰度点邻域强度值有显著变化的点凸显出来。在具体编程实现时,可通过计算梯度幅值来确定。

图像边缘检测技术综述

第 42 卷增刊 1 中南大学学报(自然科学版) V ol.42 Suppl. 1 2011 年 9 月 Journal of Central South University (Science and Technology) Sep. 2011 图像边缘检测技术综述 王敏杰 1 ,杨唐文 1, 3 ,韩建达 2 ,秦勇 3 (1. 北京交通大学 信息科学研究所,北京,100044; 2. 中国科学院沈阳自动化研究所 机器人学国家重点实验室,辽宁 沈阳,110016; 3. 北京交通大学 轨道交通控制与安全国家重点实验室,北京,100044) 摘要:边缘检测是图像处理与分析中最基础的内容之一。首先介绍了几种经典的边缘检测方法,并对其性能进行 比较分析;然后,综述了近几年来出现的一些新的边缘检测方法;最后,对边缘检测技术的发展趋势进行了展望。 关键词:数字图像;边缘检测;综述 中图分类号:TP391.4 文献标志码:A 文章编号:1672?7207(2011)S1?0811?06 Review on image edge detection technologies W ANG Min-jie 1 , Y ANG Tang-wen 1,3 , HAN Jian-da 2 ,QIN Y ong 3 (1.Institute of Information Science,Beijing Jiaotong University, Beijing 100044, China? 2.State Key Laboratory of Robotics, Shenyang Institute of Automation, Chinese Academic of Science,Shenyang 110016, China? 3.State Key Laboratory of Rail Traffic Control and Safety, Beijing Jiaotong University, Beijing 100044, China) Abstract: Edge detection is one of the most fundamental topics in the research area of image processing and analysis. First, several classical edge detection methods were introduced, and the performance of these methods was compared? then, several edge detection methods developed in the latest years were reviewed? finally, the trend of the research of the image edge detection in the future was discussed. Key words:digital image?edge detection?review 图像是人们从客观世界获取信息的重要来源 [1?2] 。 图像信息最主要来自其边缘和轮廓。所谓边缘是指其 周围像素灰度急剧变化的那些象素的集合,它是图像 最基本的特征。边缘存在于目标、背景和区域之 间 [3?4] ,它是图像分割所依赖的最重要的依据。边缘检 测 [5?8] 是图像处理和计算机视觉中的基本问题, 图像边 缘检测是图像处理中的一个重要内容和步骤,是图像 分割、目标识别等众多图像处理的必要基础 [9?10] 。因 此,研究图像边缘检测算法具有极其重要的意义。 边缘检测是计算机视觉和图像处理领域的一项基 本内容。准确、高效地提取出边缘信息一直是该领域 研究的重点内容 [11] 。最初的经典算法可分为边缘算子 法、曲面拟合法、模板匹配法、门限化法等。近年来, 随着数学理论和人工智能的发展,又出现了一些新的 边缘检测的算法 [12?13] ,如基于数学形态学的边缘检 测 [14] 、小波变换和小波包变换的边缘检测法 [15] 、基于 模糊理论的边缘检测法 [16?17] 、基于神经网络的边缘检 测法 [18] 、基于分形几何的边缘检测算法 [19] 、基于遗传 算法的边缘检测法 [20?21] 、漫射边缘的检测方法 [22] 、多 尺度边缘检测技术 [23] 、亚像素边缘的定位技术 [24] 、 收稿日期:2011?04?15;修回日期:2011?06?15 基金项目:轨道交通控制与安全国家重点实验室开放基金资助项目(RCS2010K02);机器人学国家重点实验室开放基金资助项目(RLO200801);北 京交通大学基本科研业务费资助项目(2011JBM019) 通信作者:王敏杰(1988-), 女, 黑龙江五常人, 硕士研究生, 从事图像处理和计算机视觉研究; 电话: 010-51468132; E-mail: wangminjie1118@https://www.360docs.net/doc/679825438.html,

图像边缘检测方法的研究与实现刘法200832800066

青岛大学 专业课程设计 院系: 自动化学院 专业: 电子信息工程 班级: 08级电子信息工程3班 学生姓名: 刘法 指导教师: 王汉萍庄晓东 日期: 2011年12月23日 题目:图像边缘检测方法的研究与实现 一、边缘检测以及相关概念 1.1边缘,边缘检测的介绍 边缘(edge)是指图像局部强度变化最显著的部分.边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础.图像分析和理解的第一步常常是边缘检测(edge detection). 边缘检测是指使用数学方法提取图像像元中具有亮度值(灰度)空间方向梯度大的边、线特征的过程。 在讨论边缘算子之前,首先给出一些术语的定义: 边缘点:图像中具有坐标] i且处在强度显著变化的位置上的点. ,[j 边缘段:对应于边缘点坐标] i及其方位 ,边缘的方位可能是梯度角. ,[j 边缘检测器:从图像中抽取边缘(边缘点和边缘段)集合的算法. 轮廓:边缘列表,或是一条表示边缘列表的拟合曲线. 边缘连接:从无序边缘表形成有序边缘表的过程.习惯上边缘的表示采用顺时针方向序. 边缘跟踪:一个用来确定轮廊的图像(指滤波后的图像)搜索过程. 边缘点的坐标可以是边缘位置像素点的行、列整数标号,也可以在子像素分辨率水平上表示.边缘坐标可以在原始图像坐标系上表示,但大多数情况下是在边缘检测滤波器的输出图像的坐标系上表示,因为滤波过程可能导致图像坐标平移或缩放.边缘段可以用像素点尺寸大小的小线段定义,或用具有方位属性的一个点定义.请注意,在实际中,边缘点和边缘段都被称为边缘.

边缘连接和边缘跟踪之间的区别在于:边缘连接是把边缘检测器产生的无序边缘集作为输入,输出一个有序边缘集;边缘跟踪则是将一幅图像作为输入,输出一个有序边缘集.另外,边缘检测使用局部信息来决定边缘,而边缘跟踪使用整个图像信息来决定一个像素点是不是边缘. 1.2 边缘检测算子 边缘检测是图像特征提取的重要技术之一, 边缘常常意味着一个区域的终结和另一个区域的开始. 图像的边缘包含了物体形状的重要信息,它不仅在分析图像时大幅度地减少了要处理的信息量,而且还保护了目标的边界结构. 因此,边缘检测可以看做是处理许多复杂问题的关键. 边缘检测的实质是采用某种算法来提取出图像中对对象与背景间的交界线。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此可以用局部图像微分技术来获取边缘检测算子。经典的边缘检测方法是对原始图像中的像素的某个邻域来构造边缘检测算子。以下是对几种经典的边缘检测算子进行理论分析,并对各自的性能特点做出比较和评价。 边缘检测的原理是:由于微分算子具有突出灰度变化的作用,对图像进行微分运算,在图像边缘处其灰度变化较大,故该处微分计算值教高,可将这些微分值作为相应点的边缘强度,通过阈值判别来提取边缘点,即如果微分值大于阈值,则为边缘点。 Roberts,Sobel,Prewwit是基于一阶导数的边缘检测算子,图像的边缘检测是通过2*2或者3*3模板作为核与该图像中的每个像素点做卷积和运算,然后选取合适的阈值以提取边缘。 Laplace边缘检测算子是基于二阶导数的边缘检测算子,该算子对噪声敏感。Laplace算子的改进方式是先对图像进行平滑处理,然后再应用二阶导数的边缘检测算子,其代表是拉普拉斯高斯(LOG)算子。前边介绍的边缘检测算法是基于微分方法的,其依据是图像的边缘对应一阶导数的极大值点和二阶导数过零点。Canny算子是另外一类边缘检测算子,它不是通过微分算子检测边缘,而是在满足一定约束条件下推导出的边缘检测最优化算子。 1.3 边缘检测算法 对于边缘的检测常常借助于空域微分算子进行,通过将其模板与图像卷积完成。两个具有不同灰度值的相邻区域之间总存在灰度边缘。灰度边缘是灰度值不连续(或突变) 的结果,这种不连续常可利用求一阶和二阶导数方便地检测到。已有的局部技术边缘检测方法,主要有一次微分(Sobel 算子、Robert s 算子等) 、二次微分(拉普拉斯算子等)。这些边缘检测器对边缘灰度值过渡比较尖锐且噪声较小等不太复杂的图像,大多数提取算法均可以取得较好的效果。但对于边缘复杂、采光不均匀的图像来说,则效果不太理想。主要表现为边缘模糊、边缘非单像素宽、弱边缘丢失和整体边缘的不连续等方面。 用算子检测图像边缘的方法是用小区域模板对图像进行处理,即采用卷积核作为掩模模板在图像中依次移动,完成图像中每个像素点同模板的卷积运算,最终输出的边缘幅度结果可以检测出图像的边缘。卷积运算是一种邻域运算。图像处理认为:某一点像素的结果不但和本像素灰度有关,而且和其邻域点值有关。运用模板在图像上依此对每一个像素进行卷积, 即模板上每一个点的值与其在图像上当前位置对应的像素点值相乘后再相加,得出的值就是该点处理后的新值。 边缘检测算法有如下四个步骤:

边缘检测算子比较

边缘检测算子比较 不同图像灰度不同,边界处一般会有明显的边缘,利用此特征可以分割图像。需要说明的是:边缘和物体间的边界并不等同,边缘指的是图像中像素的值有突变的地方,而物体间的边界指的是现实场景中的存在于物体之间的边界。有可能有边缘的地方并非边界,也有可能边界的地方并无边缘,因为现实世界中的物体是三维的,而图像只具有二维信息,从三维到二维的投影成像不可避免的会丢失一部分信息;另外,成像过程中的光照和噪声也是不可避免的重要因素。正是因为这些原因,基于边缘的图像分割仍然是当前图像研究中的世界级难题,目前研究者正在试图在边缘提取中加入高层的语义信息。 课题所用图像边缘与边界应该算是等同的。 在实际的图像分割中,往往只用到一阶和二阶导数,虽然,原理上,可以用更高阶的导数,但是,因为噪声的影响,在纯粹二阶的导数操作中就会出现对噪声的敏感现象,三阶以上的导数信息往往失去了应用价值。二阶导数还可以说明灰度突变的类型。在有些情况下,如灰度变化均匀的图像,只利用一阶导数可能找不到边界,此时二阶导数就能提供很有用的信息。二阶导数对噪声也比较敏感,解决的方法是先对图像进行平滑滤波,消除部分噪声,再进行边缘检测。不过,利用二阶导数信息的算法是基于过零检测的,因此得到的边缘点数比较少,有利于后继的处理和识别工作。 各种算子的存在就是对这种导数分割原理进行的实例化计算,是为了在计算过程中直接使用的一种计算单位; Roberts算子:边缘定位准,但是对噪声敏感。适用于边缘明显且噪声较少的图像分割。Roberts边缘检测算子是一种利用局部差分算子寻找边缘的算子,Robert算子图像处理后结果边缘不是很平滑。经分析,由于Robert算子通常会在图像边缘附近的区域内产生较宽的响应,故采用上述算子检测的边缘图像常需做细化处理,边缘定位的精度不是很高。Prewitt算子:对噪声有抑制作用,抑制噪声的原理是通过像素平均,但是像素平均相当于对图像的低通滤波,所以Prewitt算子对边缘的定位不如Roberts算子。 Sobel算子:Sobel算子和Prewitt算子都是加权平均,但是Sobel算子认为,邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同。一般来说,距离越远,产生的影响越小。 Isotropic Sobel算子:加权平均算子,权值反比于邻点与中心点的距离,当沿不同方向检测边缘时梯度幅度一致,就是通常所说的各向同性。 在边沿检测中,常用的一种模板是Sobel 算子。Sobel 算子有两个,一个是检测水平边沿的;另一个是检测垂直平边沿的。Sobel算子另一种形式是各向同性Sobel(Isotropic Sobel)算子,也有两个,一个是检测水平边沿的,另一个是检测垂直平边沿的。各向同性Sobel 算子和普通Sobel算子相比,它的位置加权系数更为准确,在检测不同方向的边沿时梯度的幅度一致。由于建筑物图像的特殊性,我们可以发现,处理该类型图像轮廓时,并不需要对梯度方向进行运算,所以程序并没有给出各向同性Sobel算子的处理方法。 由于Sobel算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数,简单有效,因此应用广泛。美中不足的是,Sobel算子并没有将图像的主体与背景严格地区分开来,换言之就是Sobel算子没有基于图像灰度进行处理,由于Sobel算子没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。在观测一幅图像的时候,我们往往首先注意的是图像与背景不同的部分,正是这个部分将主体突出显示,基于该理论,我们可以给出阈值化轮廓提取算法,该算法已在数学上证明当像素点满足正态分布时所求解是最优的。

基于matlab的图像边缘检测算法研究和仿真设计

基于matlab的图像边缘检测算法研究和仿真 目录 第1章绪论 1 1.1 序言 1 1.2 数字图像边缘检测算法的意义 1 第2章传统边缘检测方法及理论基础 2 2.1 数字图像边缘检测的现状与发展 2 2.2 MATLAB和图像处理工具箱的背景知识 3 2.3 数字图像边缘检测关于边缘的定义 4 2.4 基于一阶微分的边缘检测算子 4 2.5 基于二阶微分的边缘检测算子 7 第3章编程和调试 10 3.1 edge函数 10 3.2 边缘检测的编程实现 11 第4章总结 13 第5章图像边缘检测应用领域 13 附录参考文献 15

第1章绪论 §1.1 序言 理解图像和识别图像中的目标是计算机视觉研究的中心任务,物体形状、物体边界、位置遮挡、阴影轮廓及表面纹理等重要视觉信息在图像中均有边缘产生。图像边缘是分析理解图像的基础,它是图像中最基本的特征。在Marr的计算机视觉系统中,图像边缘提取占据着非常重要位置,它位于系统的最底层,为其它模块所依赖。图像边缘提取作为计算机视觉领域最经典的研究课题,长期受到人们的重视。 图像边缘主要划分为阶跃状和屋脊状两种类型。阶跃状边缘两侧的灰度值变化明显,屋脊状边缘则位于灰度增加与减少的交界处。传统的图像边缘检测方法大多是从图像的高频分量中提取边缘信息,微分运算是边缘检测与提取的主要手段。由于传统的边缘检测方法对噪声敏感,所以实际运用效果有一定的局限性。近年来,越来越多的新技术被引入到边缘检测方法中,如数学形态学、小波变换、神经网络和分形理论等。 Canny于1986年提出基于最优化算法的边缘检测算子,得到了广泛的应用,并成了与其它实验结果作比较的标准。其原因在于他最先建立了优化边缘检测算子的理论基础,提出了迄今为止定义最为严格的边缘检测的三个标准。另外其相对简单的算法使得整个过程可以在较短的时间实现。实验结果也表明,Canny算子在处理受加性高斯白噪声污染的图像方面获得了良好的效果[1]。 §1.2 数字图像边缘检测算法的意义 数字图像处理是控制领域的重要课题,数字图像边缘检测是图像分割、目标区域识别和区域形状提取等图像分析领域十分重要的基础,是图像识别中提取图像特征的一个重要方法。边缘中包含图像物体有价值的边界信息,这些信息可以用于图像理解和分析,并且通过边缘检测可以极降低后续图像分析和处理的数据量。图像理解和分析的第一步往往就是边缘检测,目前它已成为机器视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。 图像的边缘检测技术是数字图像处理技术的基础研究容,是物体识别的重要基础。边缘特征广泛应用于图像分割、运动检测与跟踪、工业检测、目标识别、双目立体视觉等领域。现有边缘检测技术在抑制噪声方面有一定的局限性,在阈值参数选取方面自适

经典边缘检测算子对比

经典边缘检测算子比较 张丽 南京信息工程大学信息与计算科学系,南京210044 摘要:图像边缘检测技术是图像分割、目标识别、区域形态提取等图像分析领域中十分重要的基础。本文简要介绍各种经典图像边缘检测算子的基本原理,用Matlab仿真实验结果表明各种算子的特点及对噪声的敏感度,为学习和寻找更好的边缘检测方法提供参考价值。 关键字:图像处理;边缘检测;算子;比较 引言 图像的边缘时图像最基本的特征之一。所谓边缘(或边沿)是指周围像素灰度有阶跃性变化或“屋顶”变化的那些像素的集合。边缘广泛存在于物体与背景之间、物体与物体之间、基元与基元之间,因此它是图像分割依赖的重要特征。图像边缘对图像识别和计算机分析十分有用,边缘能勾划出目标物体,使观察者一目了然;边缘蕴含了丰富的内在信息(如方向、阶跃性质、形状等)。从本质上说,图像边缘是图像局部特性不连续性(灰度突变、颜色突变、纹理结构突变等)的反应,它标志着一个区域的终结和另一个区域的开始。 边缘检测技术是所有基于边界分割的图像分析方法的第一步,首先检测出图像局部特性的不连续性,再将它们连成边界,这些边界把图像分成不同的区域,检测出边缘的图像就可以进行特征提取和形状分析。为了得到较好的边缘效果,现在已经有了很多的边缘检测算法以及一些边缘检测算子的改进算法。但各算子有自己的优缺点和适用领域。本文着重对一些经典边缘检测算子进行理论分析、实际验证并对各自性能特点做出比较和评价,以便实际应用中更好地发挥其长处,为新方法的研究提供衡量尺度和改进依据。 一各种经典边缘检测算子原理简介 图像的边缘对人的视觉具有重要的意义,一般而言,当人们看一个有边缘的物体时,首先感觉到的便是边缘。灰度或结构等信息的突变处称为边缘。边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。需要指出的是,检测出的边缘并不等同于实际目标的真实边缘。由于图像数据时二维的,而实际物体是三维的,从三维到二维的投影必然会造成信息的丢失,再加上成像过程中的光照不均和噪声等因素的影响,使得有边缘的地

基于数学形态学的图像边缘检测方法研究文献综述

文献综述 课题:基于数学形态学的图像边缘检测方法研究 边缘检测是图像分割的核心容,而图像分割是由图像处理到图像分析的关键步骤,在图像工程中占据重要的位置,对图象的特征测量有重要的影响。图像分割及基于分割的目标表达、特征提取和参数测量等将原始图像转化为更抽象更紧凑的形式,使得更高层的图像分析和理解成为可能。从而边缘检测在图像工程中占有重要的地位和作用。因此对边缘检测的研究一直是图像技术研究中热点,人们对其的关注和研究也是日益深入。 首先,边缘在边界检测、图像分割、模式识别、机器视觉等中有很重要的作用。边缘是边界检测的重要基础,也是外形检测的基础。同时,边缘也广泛存在于物体与背景之间、物体与物体之间,基元与基元之间,是图像分割所依赖的重要特征。其次,边缘检测对于物体的识别也是很重要的。第一,人眼通过追踪未知物体的轮廓而扫视一个未知的物体。第二,如果我们能成功地得到图像的边缘,那么图像分析就会大大简化,图像识别就会容易得多。第三,很多图像并没有具体的物体,对这些图像的理解取决于它们的纹理性质,而提取这些纹理性质与边缘检测有极其密切的关系。 理想的边缘检测是能够正确解决边缘的有无、真假、和定向定位。长期以来,人们一直关心这一问题的研究,除了常用的局

部算子及以后在此基础上发展起来的种种改进方法外,又提出了许多新的技术,其中,比较经典的边缘检测算子有 Roberts cross算子、Sobel算子、Laplacian算子、Canny算子等,近年来又有学者提出了广义模糊算子,形态学边缘算子等。这些边缘检测的方法各有其特点,但同时也都存在着各自的局限性和不足之处。 本次研究正是在已有的算法基础上初步进行改进特别是形 态学边缘算子,以期找到一个更加简单而又实用的算子,相信能对图像处理中的边缘检测方法研究以及应用有一定的参考价值。 一、课题背景和研究意义: 伴随着计算机技术的高速发展,数字图像处理成为了一门新兴学科,并且在生活中的各个领域得以广泛应用。图像边缘检测技术则是数字图像处理和计算机视觉等领域最重要的技术之一。在实际图像处理中,图像边缘作为图像的一种基本特征,经常被用到较高层次的图像处理中去。边缘检测技术是图像测量、图像分割、图像压缩以及模式识别等图像处理技术的基础,是数字图像处理重要的研究课题之一。 边缘检测是图像理解、分析和识别领域中的一个基础又重要的课题, 边缘是图像中重要的特征之一,是计算机视觉、模式识别等研究领域的重要基础。图像的大部分主要信息都存在于图像的边缘中,主要表现为图像局部特征的不连续性,是图像中灰度变化比较强烈的地方,也即通常所说的信号发生奇异变化的地

相关文档
最新文档