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

合集下载

数字图像处理实验报告——图像分割实验

数字图像处理实验报告——图像分割实验

实验报告课程名称数字图像处理导论专业班级_______________姓名 _______________学号_______________电气与信息学院与谐勤奋求就是创新一.实验目得1.理解图像分割得基本概念;2.理解图像边缘提取得基本概念;3.掌握进行边缘提取得基本方法;4.掌握用阈值法进行图像分割得基本方法.二。

实验内容1.分别用Roberts,Sobel与拉普拉斯高斯算子对图像进行边缘检测。

比较三种算子处理得不同之处;2.设计一个检测图1中边缘得程序,要求结果类似图2,并附原理说明。

3.任选一种阈值法进行图像分割、图1 图2三.实验具体实现1.分别用Roberts,Sobel与拉普拉斯高斯算子对图像进行边缘检测。

比较三种算子处理得不同之处;I=imread(’mri、tif');imshow(I)BW1=edge(I,’roberts’);figure ,imshow(BW1),title(’用Roberts算子’)BW2=edge(I,’sobel’);figure,imshow(BW2),title(’用Sobel算子 ')BW3=edge(I,’log’);figure,imshow(BW3),title(’用拉普拉斯高斯算子’)比较提取边缘得效果可以瞧出,sober算子就是一种微分算子,对边缘得定位较精确,但就是会漏去一些边缘细节.而Laplacian—Gaussian算子就是一种二阶边缘检测方法,它通过寻找图象灰度值中二阶过零点来检测边缘并将边缘提取出来,边缘得细节比较丰富。

通过比较可以瞧出Laplacian-Gaussian算子比sober算子边缘更完整,效果更好。

2.设计一个检测图1中边缘得程序,要求结果类似图2,并附原理说明.i=imread('m83、tif’);subplot(1,2,1);imhist(i);title('原始图像直方图');thread=130/255;subplot(1,2,2);i3=im2bw(i,thread);imshow(i3);title('分割结果’);3.任选一种阈值法进行图像分割、i=imread('trees、tif’);subplot(1,2,1);imhist(i);title('原始图像直方图’);thread=100/255;subplot(1,2,2);i3=im2bw(i,thread);imshow(i3);title('分割结果’)1、分别用Roberts,Sobel与拉普拉斯高斯算子对图像进行边缘检测。

图像分割处理实验报告

图像分割处理实验报告

图像分割处理实验报告1. 引言图像分割是计算机视觉中的重要任务之一,其目标是将图像划分成具有相似特征的子区域。

图像分割在很多应用领域中都有着广泛的应用,比如医学影像分析、目标检测和图像编辑等。

本实验旨在探索不同的图像分割算法,并比较它们在不同场景下的效果和性能。

2. 实验方法2.1 实验数据本实验选取了一组包含不同场景的图像作为实验数据集,包括自然景观、人物肖像和城市街景等。

每张图像的分辨率为500x500像素。

2.2 实验算法本实验使用了两种经典的图像分割算法进行比较,分别是基于阈值的分割和基于边缘的分割。

2.2.1 基于阈值的分割基于阈值的分割算法是一种简单而直观的方法,其原理是根据像素值的亮度信息将图像分割成不同的区域。

在本实验中,我们将图像的灰度值与一个事先设定的阈值进行比较,如果大于阈值则设为白色,否则设为黑色,从而得到分割后的图像。

2.2.2 基于边缘的分割基于边缘的分割算法利用图像中的边缘信息进行分割,其原理是检测图像中的边缘并将其作为分割的依据。

在本实验中,我们使用了Canny边缘检测算法来提取图像中的边缘信息,然后根据边缘的位置进行分割。

2.3 实验流程本实验的流程如下:1. 加载图像数据集;2. 对每张图像分别应用基于阈值的分割算法和基于边缘的分割算法;3. 计算分割结果和原始图像之间的相似度,使用结构相似性指标(SSIM)进行评估;4. 分析并比较两种算法在不同场景下的分割效果和性能。

3. 实验结果3.1 分割效果实验结果表明,基于阈值的分割算法在处理简单场景的图像时效果较好,可以比较准确地将图像分割为目标区域和背景。

然而,当图像的复杂度增加时,基于阈值的分割算法的效果明显下降,往往会产生较多的误分割。

相比之下,基于边缘的分割算法在处理复杂场景的图像时表现良好。

通过提取图像的边缘信息,该算法能够较准确地分割出图像中的目标区域,相比于基于阈值的分割算法,其产生的误分割较少。

3.2 性能评估通过计算分割结果和原始图像之间的SSIM指标,我们可以得到两种算法在不同场景下的性能评估。

图像分割 实验报告

图像分割 实验报告

图像分割实验报告图像分割实验报告一、引言图像分割是计算机视觉领域中的一个重要研究方向,它旨在将一幅图像分割成具有语义意义的不同区域。

图像分割在许多应用中发挥着关键作用,如目标检测、场景理解和医学图像处理等。

本实验旨在探索不同的图像分割方法,并对其进行比较和评估。

二、实验方法本实验选择了两种常用的图像分割方法:基于阈值的分割和基于边缘的分割。

首先,我们使用Python编程语言和OpenCV库加载图像,并对图像进行预处理,如灰度化和平滑处理。

接下来,我们将详细介绍这两种分割方法的实现步骤。

1. 基于阈值的分割基于阈值的分割是一种简单而常用的分割方法。

它通过将图像像素的灰度值与预先设定的阈值进行比较,将像素分为前景和背景两类。

具体步骤如下:(1)将彩色图像转换为灰度图像。

(2)选择一个适当的阈值,将图像中的像素分为两类。

(3)根据阈值将图像分割,并得到分割结果。

2. 基于边缘的分割基于边缘的分割方法是通过检测图像中的边缘来实现分割的。

边缘是图像中灰度变化剧烈的区域,通常表示物体的边界。

具体步骤如下:(1)将彩色图像转换为灰度图像。

(2)使用边缘检测算法(如Canny算法)检测图像中的边缘。

(3)根据边缘信息将图像分割,并得到分割结果。

三、实验结果与讨论我们选择了一张包含多个物体的彩色图像进行实验。

首先,我们使用基于阈值的分割方法对图像进行分割,选择了适当的阈值进行实验。

实验结果显示,基于阈值的分割方法能够将图像中的物体与背景分离,并得到较好的分割效果。

接下来,我们使用基于边缘的分割方法对同一张图像进行分割。

实验结果显示,基于边缘的分割方法能够准确地检测出图像中的边缘,并将图像分割成多个具有边界的区域。

与基于阈值的分割方法相比,基于边缘的分割方法能够更好地捕捉到物体的形状和边界信息。

通过对比两种分割方法的实验结果,我们发现基于边缘的分割方法相对于基于阈值的分割方法具有更好的效果。

基于边缘的分割方法能够提供更准确的物体边界信息,但也更加复杂和耗时。

Matlab中的图像分割与边缘检测方法

Matlab中的图像分割与边缘检测方法

Matlab中的图像分割与边缘检测方法引言图像处理是一门研究如何对数字图像进行处理、分析、改进和理解的学科。

图像分割与边缘检测在图像处理中占据着重要的地位。

图像分割是将图像划分为多个具有语义意义的区域或对象的过程,而边缘检测则是找到图像中不连续的区域边界。

Matlab作为一种强大的软件工具,提供了丰富的图像处理函数和工具箱,本文将探讨在Matlab中应用的图像分割与边缘检测方法。

一、图像分割方法1. 基于阈值的分割基于阈值的分割是一种简单但有效的方法。

该方法将图像像素的灰度值与预设的阈值进行比较,根据比较结果将像素分配到不同的区域。

在Matlab中,可以使用imbinarize和graythresh函数来实现基于阈值的分割。

2. 区域增长法区域增长法基于像素之间的相似性来进行分割。

该方法从种子像素开始,通过判断邻域像素与种子像素的相似度来不断扩展区域。

在Matlab中,可以使用imsegf和regiongrowing函数来实现区域增长法。

3. 聚类方法聚类方法将图像像素分为多个类别,每个类别代表一个区域。

该方法通常使用聚类算法,比如k-means算法或者模糊c-均值算法。

在Matlab中,可以使用kmeans和fcm函数来实现聚类方法。

4. 模型驱动法模型驱动法基于数学模型来描述图像中的区域。

该方法通过定义一个能够衡量图像中区域特征的能量函数,并通过优化算法来最小化能量函数,从而得到分割结果。

在Matlab中,可以使用activecontour和chanvese函数来实现模型驱动法。

二、边缘检测方法1. Sobel算子Sobel算子是一种经典的边缘检测算子。

其基本思想是通过计算像素与其周围像素之间的差异来检测边缘。

在Matlab中,可以使用imgradient和imgradientxy函数来实现Sobel算子。

2. Canny算子Canny算子是一种广泛使用的边缘检测算子。

它利用高斯平滑、梯度计算、非极大值抑制和双阈值法来检测边缘。

医学图像处理中的边缘检测与分割算法

医学图像处理中的边缘检测与分割算法

医学图像处理中的边缘检测与分割算法边缘检测与分割是医学图像处理中的重要部分,被广泛应用于疾病诊断、医学影像分析和手术辅助等领域。

边缘检测算法用于提取图像中的边缘信息,而分割算法则可以将图像划分为不同的区域,有助于医生对图像进行进一步分析和诊断。

一、边缘检测算法在医学图像处理中,常用的边缘检测算法包括基于梯度的方法、基于模型的方法和基于机器学习的方法。

1. 基于梯度的方法基于梯度的边缘检测算法通过计算图像中像素点的梯度值来确定边缘位置。

常用的算法包括Sobel算子、Prewitt算子和Canny算子。

Sobel算子是一种常用的离散微分算子,通过在图像中对每个像素点应用Sobel算子矩阵,可以得到图像的x方向和y方向的梯度图像。

通过计算梯度幅值和方向,可以得到边缘的位置和方向。

Prewitt算子与Sobel算子类似,也是一种基于梯度的边缘检测算子。

它通过将图像中的每个像素点与Prewitt算子矩阵进行卷积运算,得到图像的x方向和y方向的梯度图像。

进一步计算梯度幅值和方向,可以确定边缘的位置和方向。

Canny算子是一种经典的边缘检测算法,它采用多步骤的方法来检测边缘。

首先,对图像进行高斯滤波来减少噪声。

然后,计算图像的梯度幅值和方向,进一步剔除非最大值的梯度。

最后,通过设置双阈值来确定真正的边缘。

2. 基于模型的方法基于模型的边缘检测算法借助数学模型来描述边缘的形状和特征。

常用的算法包括基于边缘模型的Snake算法和基于边缘模型的Active Contour算法。

Snake算法(也称为活动轮廓模型)是一种基于曲线的边缘检测算法。

它通过将一条初始曲线沿着图像中的边缘移动,使得曲线更好地贴合真实边缘。

Snake算法考虑了边缘的连续性、平滑性和能量最小化,可以获得较为准确的边缘。

Active Contour算法是Snake算法的进一步发展,引入了图像能量函数。

通过最小化能量函数,可以得到最佳的边缘位置。

Active Contour算法可以自动调整曲线的形状和位置,适应复杂的图像边缘。

详细的图像分割之边缘检测实验报告

详细的图像分割之边缘检测实验报告

边缘检测实验报告一、实验目的通过课堂的学习,已经对图像分割的相关理论知识已经有了全面的了解,知道了许多图像分割的算法及算子,了解到不同的算子算法有着不同的优缺点,为了更好更直观地对图像分割进行深入理解,达到理论联系实际的目的,特制定如下的实验。

二、实验原理:图像处理有两大类目的:1.改善像质(增强、恢复);2.图像分析:对图像内容作出描述;其一般的图像处理过程如下:图像分割的算法有:(1)阈值分割原理:(,)(,)(,)EBLf x y Tg x y L f x y T≥⎧=⎨<⎩(2)边缘检测:梯度对应一阶导数,对于一个连续图像函数f(x,y):梯度矢量定义:梯度的幅度:梯度的方向:a) Roberts 算子b) Sobel 算子Roberts 算子[]TTyxy f x f G G y x f ⎦⎤⎢⎣⎡∂∂∂∂==∇),(122)()),((),(y x G G y x f mag y x f +=∇=∇)arctan(),(x y G y x =φ()()()[]()()[]{}21221,,11,1,,+-++++-=j i f j i f j i f j i f j i gc) Prewitt 算子d) Kirsch 算子由K 0~K 7八个方向模板组成,将K0~K7的模板算法分别与图像中的3×3区域乘,选最大一个值,作为中央像素的边缘强度(3)区域分割1 区域生长法 算法描述先对每个需要分割的区域找一个种子像素作为生长的起点,然后将种子像素周围邻域中与种子像素有相似性质的像素合并到种子像素所在的区域中。

将这些新像素当作新的种子像素继续进行上面的过程,直到再没有满足条件的像素可被包括进来。

2 分裂合并法实际中常先把图像分成任意大小且不重叠的区域,然后再合并或分裂这些区域以满足分割的要求,即分裂合并法.一致性测度可以选择基于灰度统计特征(如同质区域中的方差),假设阈值为T ,则算法步骤为:① 对于任一Ri ,如果 ,则将其分裂成互不重叠的四等分; ② 对相邻区域Ri 和Rj ,如果 ,则将二者合并; ③ 如果进一步的分裂或合并都不可能了,则终止算法。

图像处理中的边缘检测和图像分割

图像处理中的边缘检测和图像分割

图像处理中的边缘检测和图像分割在计算机视觉领域中,图像处理是一项非常重要的技术。

其中,边缘检测和图像分割是两个关键环节。

本文将从边缘检测和图像分割的基本概念入手,详细介绍它们的原理和应用。

一、边缘检测1、基本概念边缘是指图像中亮度、颜色等性质发生突然变化的地方。

边缘检测就是在图像中寻找这些突然变化的地方,并将它们标记出来。

在实际应用中,边缘检测可以用于目标跟踪、物体检测等方面。

2、常见方法常见的边缘检测算法有Canny、Sobel、Laplacian等。

其中,Canny算法是一种广泛使用的边缘检测算法,其基本原理是通过计算图像中每个像素点的梯度值和方向,来判断该点是否为边缘。

Sobel算法则是利用了图像卷积的思想,先对图像进行卷积操作,再计算得到每个像素点的梯度值。

Laplacian算法则是通过计算图像中每个像素点的二阶导数,来寻找亮度突变的地方。

3、应用场景边缘检测常用于在图像中寻找物体的轮廓线,或者分离图像中的前景和背景等方面。

例如在计算机视觉中的人脸识别中,边缘检测可以用于提取人脸的轮廓线,以便于后续的特征提取和匹配。

二、图像分割1、基本概念图像分割是把图像中的像素点分成不同的区域,以便于更好地理解和处理图像。

分割的结果通常是一个二值图像,其中每个像素点被标记为前景或者背景。

在实际应用中,图像分割可以用于目标检测、图像识别等方面。

2、常见方法常见的图像分割算法有阈值分割、聚类分割、边缘分割等。

其中,阈值分割是一种较为简单且常用的分割算法,其原理是为图像中每个像素点设置一个阈值,大于阈值的像素点被标记为前景,小于阈值的则为背景。

聚类分割算法则是通过对图像中像素点进行聚类操作,来划分不同的区域。

边缘分割则是利用边缘检测的结果,将图像分成前景和背景两个部分。

3、应用场景图像分割可以应用于诸如目标检测、图像识别、医学图像分析等方面。

例如在医学图像分析中,图像分割可以用于将CT或MRI图像中的组织分割成肝、肿瘤等不同的部分,以便于医生更好地进行预测和治疗决策。

图像分割实验报告

图像分割实验报告

医学图像处理实验报告实验名称:图像分割设计实验姓名:gaojunqiang学号:20105405班级:生医 1001指导教师:……2013年6月5日一、实验目的1、编程实现下列功能:读出存储的黑白灰度图象并显示,用拉普拉斯算子对图象进行边缘检测,显示处理后图象,存储处理后图象。

2、编程实现下列功能:读出存储的黑白灰度图象并显示,用鼠标点击图象上某一点,以灰度相近原则进行区域生长,显示处理后图象,存储处理后图象。

二、实验原理1、拉普拉斯边缘检测二维函数f(x,y)的拉普拉斯是一个二阶的微分定义为:∇2f = [∂2f / ∂x2 ,∂2f / ∂y2]一般情况下可以用一个拉普拉斯模板算子。

模板算子分为4邻域和8邻域,如下∇2f = 4z5 – (z2 + z4 + z6 + z8)∇2f = 8z5 – (z1 + z2 + z3 + z4+z5 + z6 + z7+ z8)2、区域增长区域增长是通过一个起始点作为种子点对他周围的点进行选择。

它采取的是一种迭代的思想。

区域增长也分为四邻域和八邻域两种方式。

通过像素的集合进行区域增长的算法如下:1)根据图像的不同应用选择一个或一组种子,它或者是最亮或最暗的点,或者是位于点簇中心的点。

2)选择一个描述符(条件)3)从该种子开始向外扩张,首先把种子像素加入集合,然后不断将与集合中各个像素连通、且满足描述符的像素加入集合4)上一过程进行到不再有满足条件的新结点加入集合为止。

三、实验代码及结果1、拉普拉斯边缘检测代码如下:%主函数如下:clc;close all;clear all;Imag = imread('lena.tiff');ImagGray = rgb2gray(Imag); %将彩色图片转换成灰度图片figure()imshow(ImagGray),title('灰度图像');% T = graythresh(ImagGray); %用大津法自动确定阈值% I=edge(ImagGray,'log',0.004);% figure(),imshow(I), title('laplace边缘图像');ImagGray = double(ImagGray);T = 60; %设置阈值LapModType = 8; %设置laplace模板方式ImagLapEdge = LaplaceEdge(ImagGray,LapModType,T); %laplace边缘检测ImagLapEdge = uint8(ImagLapEdge);figure()imshow(ImagLapEdge),title('laplace边缘图像');%拉普拉斯边缘检测函数如下:function ImagLapEdge = LaplaceEdge(ImagGray,MoldType,Thresh)%-----------------参数介绍--------------------%输入参数:% ImagGray: 输入的灰度图像% MoldType: 摸板类型,包括四邻域和八邻域% Thresh: 边缘检测阈值%输出参数:% ImagEdge:边缘像素点,存储的是二值化图像[r,c] = size(ImagGray);ImagLapEdge = zeros(r,c);%四邻域拉普拉斯边缘检测算子if 4 == MoldTypefor i = 2:r-1for j = 2:c-1Temp =-4*ImagGray(i,j)+ImagGray(i-1,j)+ImagGray(i+1,j)+ImagGray(i,j-1)+ImagGray(i,j+1); if Temp > ThreshImagLapEdge(i,j) = 255;elseImagLapEdge(i,j) = 0;endendendend%八邻域拉普拉斯边缘检测算子if 8 == MoldTypefor i = 2:r-1for j = 2:c-1Temp =-8*ImagGray(i,j)+ImagGray(i-1,j)+ImagGray(i+1,j)+ImagGray(i,j-1)+ImagGray(i,j+1)+ImagGray(i-1,j-1)+ImagGray(i+1,j+1)+ImagGray(i+1,j-1)+ImagGray(i-1,j+1);if Temp > ThreshImagLapEdge(i,j) = 255;elseImagLapEdge(i,j) = 0;endendendend拉普拉斯边缘检测实验结果如下:图1 原灰度图像图2 拉普拉斯8邻域模板边缘检测图像图3拉普拉斯4邻域模板边缘检测图像2、区域增长实验代码:主函数如下:clc;close all;clear all;Imag = imread('lena.jpg');figure()imshow(Imag), title('原灰度图片');n = 4; %设置区域增长的种子点数[x,y] = ginput(n); %在图像上取点V = [y,x];V = uint16(V);thresh = 33; %区域增长的阈值growingtype = 8; %增长方式[regionGet,imout,regionsize]=regiongrowing(V,Imag,thresh,growingtype); %区域增长函数figure()imshow(imout), title('区域分割后的图片');hold onplot(x,y,'+');由于区域增长代码老师已给这里就不在写出。

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

实验三图像分割与边缘检测上课老师:赵欢喜实验指导:吴磊实验地点:科技楼4楼计算机实验中心时间:2010.12.14一.实验目的1. 理解图像分割的基本概念;2. 理解图像边缘提取的基本概念;3. 掌握进行边缘提取的基本方法;4. 掌握用阈值法进行图像分割的基本方法。

二.实验基本原理●图象边缘检测图像理解是图像处理的一个重要分支,研究为完成某一任务需要从图像中提取哪些有用的信息,以及如何利用这些信息解释图像。

边缘检测技术对于处理数字图像非常重要,因为边缘是所要提取目标和背景的分界线,提取出边缘才能将目标和背景区分开来。

在图像中,边界表明一个特征区域的终结和另一个特征区域的开始,边界所分开区域的内部特征或属性是一致的,而不同的区域内部的特征或属性是不同的,边缘检测正是利用物体和背景在某种图像特性上的差异来实现的,这些差异包括灰度,颜色或者纹理特征。

边缘检测实际上就是检测图像特征发生变化的位置。

图象边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置由于噪声和模糊的存在,检测到的边界可能会变宽或在某些点处发生间断,因此,边界检测包括两个基本内容:首先抽取出反映灰度变化的边缘点,然后剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线。

边缘检测的方法大多数是基于方向导数掩模求卷积的方法。

导数算子具有突出灰度变化的作用,对图像运用导数算子,灰度变化较大的点处算得的值比较高,因此可将这些导数值作为相应点的边界强度,通过设置门限的方法,提取边界点集。

一阶导数与是最简单的导数算子,它们分别求出了灰度在x和y方向上的变化率,而方向α上的灰度变化率可以用相应公式进行计算;对于数字图像,应该采用差分运算代替求导。

一幅数字图像的一阶导数是基于各种二维梯度的近似值。

图像f(x,y)在位置(x,y)的梯度定义为下列向量: ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡∂∂∂∂=y f x f y x f G )],([ (3-4)在边缘检测中,一般用这个向量的大小,用f ∇表示 2/122][Gy Gx f +=∇ (3-5)函数f 在某点的方向导数取得最大值的方向是,方向导数的最大值是称为梯度模。

利用梯度模算子来检测边缘是一种很好的方法,它不仅具有位移不变性,还具有各向同性。

为了运算简便,实际中采用梯度模的近似形式。

||||f Gx Gy ∇≈+ 或者 m a x (||,|f G x G y ∇≈传统的边缘检测算法通过梯度算子来实现的,在求边缘的梯度时,需要对每个象素位置计算。

在实际中常用小区域模板卷积来近似快速计算,简单有效,即梯度算子一般采用滤波算子的形式来完成,因此应用很广泛。

模板是N*N 的权值方阵,经典的梯度算子模板有:Sobel 模板、Prewitt 模板、Roberts 模板、Laplacian 模板等。

具体模板请见书。

拉普拉斯高斯(LoG )算法是一种二阶边缘检测方法。

它通过寻找图像灰度值中二阶微分中的过零点(Zero Crossing )来检测边缘点。

其原理为,灰度级变形成的边缘经过微风算子形成一个单峰函数,峰值位置对应边缘点;对单峰函数进行微分,则峰值处的微分值为0,峰值两侧符号相反,而原先的极值点对应二阶微分中的过零点,通过检测过零点即可将图像的边缘提取出来。

(a)原图 (b)边缘检测后的图 (c) 阈值处理后的图图3-1 检测具有-45度边缘的图例1.点检测原理:常数灰阶区域中的某孤立点对某种模板的响应绝对值肯定是最强烈的。

最常用的模板有:Matlab 实现方法:g = abs(imfilter(double(f),w)) >= T; where w is a appropriate point detection mask which satisfies the above condition.实例:the detection of isolated bright point in the dark gray area of the northeast quadrant.(image size: 675*675)the original image the isolated point detected (only a part displayed)实例代码:f=imread('Fig1002(a)(test_pattern_with_single_pixel).tif');w = [-1 -1 -1; -1 8 -1; -1 -1 -1];g = abs(imfilter(double(f), w));T = max(g(:));g = g>= T;subplot(121);imshow(f);title('the original image');subplot(122);imshow(g(1:end-400, 400:end));title('the isolated point detected (only a part displayed)');======================================================= 2.线(通常假定一个象素厚度) 检测原理与上同,典型模板有(主要方向性):实例:-450方向线的检测:the original image results from the -45 detecting Zoomed view of the top, left region of (b)Zoomed view of the bottom, right region of (b) absolute value of (b) -45 line detected3.边沿检测方法:使用一阶或者二阶导数。

对一节导数,关键问题是怎样估计水平和垂直方向的梯度G x和G y,二阶导数通常使用Laplacian算子计算,但是Laplacian算子很少单独用来检测边缘,因为其对噪声非常敏感,而且其结果会产生双边沿,加大了边缘检测的困难。

然而,如果Laplacian算子能与其他边缘检测算法相结合,如边缘定位算法,则其是一个强有力的补充。

通常两个标准用来测度图像强度的迅速变化:(1) 找出强度的一阶导数值大于某个事先阈值标准的位置;(2) 找出图像二阶导数的跨零点。

IPT 工具箱函数edge提供了几种基于上面两种标准的估计器:其语法为:[g, t] = edge(f, ‘method’, parameters);这里‘method’参数包括这几种类型的边缘检测子:Sobel, Prewitt, Roberts, Laplacian of a Gaussian (LoG), Zero crossings and Canny,前三种的模板见下图:另一个强有力的边缘检测器:Canny Edge Detecto r (Canny [1986]),其算法的基本步骤如下:(1)First, the image is smoothed using a Gaussian filter with a specifiedstandard deviation(2)The local gradient, g(x, y) = [G x2+G y2]1/2, and edge direction, (x, y) =tan-1(G y/G x), are computed at each point. Any of the first three techniques can be used to computer the G x and G y. An edge point is defined to be a point whose strength is locally maximum in the direction of the gradient.(3)The edge points give rise to ridges in the gradient magnitude image. Thealgorithm then tracks along the top of these ridges and sets to zero all pixels that are not actually on the ridge top so as to give a thin line, a process known as nonmaximal suppression. The ridge pixels are the thresholded using thresholds, T1 and T2, with T1 < T2. Ridge pixels with values greater than T2 are said to be “strong”edge pixels and pixels between T1 and T2 “weak” edge pixels.(4)Finally, the algorithm performs edge linking by incorporating the weakpixels that are 8-connected to strong pixels.注意:Edge function does not compute edges at ±450. To computeedges we need to specify the mask and use imfilter .4.Hough 变换In practice, the resulting pixels produced by the methods discussed in the previous sections seldom characterize an edge completely because of noise, breaks from nonuniform illumination, and other effects that introduce spurious discontinuities. Hough Transform is one type of linking procedure to find and link line segments for assembling edge pixels into meaningful edges. About the principle of Hough transform, please refer to page 586 in textbook. Instance of Hough transform:locaitons:f = zeros(101, 101);f(1, 1) = 1, f(101, 1) = 1, f(1, 101) = 1, f(101, 101) = 1, f(51, 51) = 1;[H, theta, rho] = hough(f); % hough transformimshow(theta, rho, H, [], 'notruesize');axis on, axis normal;xlabel('\theta'), ylabel('\rho');θρ-80-60-40-20020406080●图象分割图像分割是将图像划分成若干个互不相交的小区域的过程,小区域是某种意义下具有共同属性的像素的连通集合。

相关文档
最新文档