非极大值抑制是灰度梯度二维图像值还是梯度值

扫二维码下载作业帮
3亿+用户的选择
下载作业帮安装包
扫二维码下载作业帮
3亿+用户的选择
有没有高效的非极大值抑制算法
作业帮用户
扫二维码下载作业帮
3亿+用户的选择
%非极大值抑制function Max = cannyMax(direction,ix,iy,M)[m,n] = size(M);% 根据梯度幅度确定各点梯度的方向,并找出四个方向可能存在边缘点的坐标.switch directioncase 1idx = find((iy-iy) | (iy>=0 & ix|iy|case 2idx = find((ix>0 & -iy>=ix) | (ix=0 & ix|ix|case 4idx = find((iy=iy));%|ix|>|iy|end%排除外部像素的干扰if isempty(idx)%如果idx不为空v = mod(idx,m);%求除法后的模数extIdx = find(v==1 | v==0 | idx(n-1)*m));%找出外部像素idx(extIdx) = [];%令外部像素为空endixv = ix(idx); %得到此时方向下的ixiyv = iy(idx); %得到此时方向下的iygradM = M(idx);%得到此时方向下的各点幅度,中心点%计算4个方向的梯度幅度,得到局部最大值switch directioncase 1d = abs(iyv./ixv);%求绝对值,d=gradM1 & gradM>=gradM2);%返回此时方向下局部的,即非极大值抑制的最大值
为您推荐:
其他类似问题
扫描下载二维码温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(7009)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'非极大值抑制(Non-maximum suppression)',
blogAbstract:'原文地址不详,有知道的请告知。\n
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}17被浏览5,174分享邀请回答14添加评论分享收藏感谢收起1添加评论分享收藏感谢收起写回答边缘检测算法在医学超声液性病变图像中的应用-测试测量-与非网
医学超声图像多见数个无回声区,呈&蜂窝状&,边界不清晰,为了清晰地提取医学超声液性病变图像的边缘,进一步为临床诊断提供可靠依据,在此将几种不同的边缘检测算法应用于医学超声液态病变图像中,经实验结果得出,经典的边缘检测算法不能很好地提取图像的边缘,而基于的边缘检测算法,人为设定边缘控制点,智能动态调整曲线,获得了很好的效果,具有很高的临床应用价值。
鉴于医学图像可以看到人体组织的局部器官病变,所以医学成像成为疾病检查的重要手段,但由于设备、技术等原因,得到的医学图片边缘往往模糊不清,因此医学图像边缘检测是医学图像处理和分析的一个非常重要的分支。目前医学成像方法主要有:X光成像、核磁共振成像、超声成像以及正电子发射断层成像,其中,超声成像从成像成本、成像时间以及对病人的伤害等方面都显示出了它的优势,本文就以为例,对超声诊断中常见的液性病变图像进行边缘提取算法分析。
经典的边缘检测算子利用边缘处一阶或二阶导数来检测梯度变化情况,基本的微分检测算子有Roberts算子、Sobel算子、拉普拉斯算子和Canny算子等。近年来,随着数学理论和人工智能的发展,又出现了许多新的边缘检测方法,比如基于分数阶微分法、小波变换法、Snake模型法、模糊检测法、数学形态学法、神经网络法等。这些边缘检测方法最终目的都是检测出图像的边缘信息,但在解决特定特征图像时也显现出各自的优势和不足之处。所以,如何采用合适的技术对医学图像进行边缘提取,为临床医生提供更准确的病人数据是目前研究的一个热点。
本文首先对几种边缘检测方法进行分析,然后将其应用于超声液性病变图像的边缘提取中,得出不同的提取效果,与采用改进的Snake模型边缘提取算法进行比较,实验表明,基于Snake模型的边缘提取算法边缘提取效果较好。
1 边缘检测算法
边缘检测目的是要检测出图像中灰度变化的不连续区域,确定它们在图像中的精确位置,为后期的图像分析和处理提供信息,图像的边缘包含了物体形状的重要信息,主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础。图像边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线。
1.1 基于一阶微分的边缘检测算法
图像中的边缘通常与图像强度或图像强度的一阶导数的不连续性有关。图像强度的不连续可分为:
(1)阶跃不连续,即图像强度在不连续处的两边的像素灰度值有着显著的差异;
(2)线条不连续,即图像强度突然从一个值变化到另一个值,保持一个较小的行程后又返回到原来的值。
在一维情况下,阶跃边缘同图像的一阶导数局部峰值有关。梯度是函数变化的一种度量,而一幅图像可以看作是图像强度连续函数的取样点阵列。因此,图像灰度值的显著变化可用梯度的离散逼近函数来检测。
梯度是一阶导数的二维等效式,定义为向量:
有2个重要的性质与梯度有关:
(1)向量G(x,y)的方向就是函数f(x,y)增大时的最大变化率方向;
(2)梯度的幅值由下式给出:
数字图像中,求导数是利用差分近似微分来完成的。根据模板的大小以及权值的不同,人们提出了很多梯度算子,比如Roberts算子、Sobel算子、Prewitt算子都是基于一阶微分的梯度经典算子。
1.1.1 Roberts算子
根据计算梯度原理,采用对角线方向相邻2像素之差得到的就是Reberts算子。Roberts算子是22模板的一阶微分算子,是一种斜向偏差分的梯度计算方法,梯度的大小代表边缘的强度,梯度的方向与边缘走向垂直,因此,Roberts梯度算子检测水平和垂直边缘的效果好,定位精度高,但容易丢失部分边缘。因为Roberts没进行平滑处理,对噪声较敏感,经常会出现孤立点。用该算子处理边缘陡峭度高且噪声小的图像效果较佳。
1.1.2 Sobel算子
Sobel算子是使用3 x 3模板的一阶微分算子,采用带权值的方法计算差分,是在Roberts算子的基础上将方向差分运算与局部平均结合起来的一种方法。Sobel算子以f(x,y)为中心的33的邻域上计算x和y方向上的偏导数Gx,Gy。利用像素上、下、左、右相邻点的灰度加权算法,根据在边缘点处达到极值进行边缘检测。Sobel算子很容易在空间上实现,对噪声具有较好的平滑作用,能提供比较准确的边缘方向信息,但定位精度不高,容易产生伪边缘,其测得边缘宽度一般至少为2个像素。但由于实际中很多情形下对定位精度的要求都不是很高,因此它是一种较为常用的边缘检测算子。
1.1.3 Prewitt算子
Prewitt和Sobel算子都是使用3&3模板的一阶微分算子,它们是在研究曲面拟合的基础上提出的。拟合是指已知某连续函数的一系列离散函数值,通过最小二乘法等准则来确定该函数中的待定系数。Prewitt和Sobel算子的2个差分模板的系数之间的区别仅在于求平均的方法不同。随后出现的Kirseh算子用不等权的8个3&3循环平均梯度算子分别与图像进行卷积,取其中的最大值输出,它可以检测各个方向上的边缘,减少了由于平均而造成的细节丢失,但同时增加了计算量。
1.2 基于二阶微分的边缘检测算法
前面讨论了基于一阶微分的边缘检测,如果所求的一阶微分高于某一阈值,则确定该点为边缘点。一阶微分组成的梯度是一种矢量,不但有大小还有方向,和标量比较,数据存储量比较大。一种更好的方法就是求梯度局部最大值对应的点,并认定它们是边缘点,通过去除一阶微分中的非局部最大值,可以检测出更精确的边缘。一阶微分的局部最大值对应着二阶微分的零交叉点,这意味着在边缘点处有一阶微分的峰值,同样地,有二阶微分的零交叉点。这样,通过找图像强度的二阶微分的零交叉点就能找到边缘点。
在二维空间,对应二阶微分有两种算子:Laplace算子和Marr算子。Laplace算子也称拉氏算子,它的特点是具有旋转对称性而不具备方向性,只需要一个3&3模板。Laplaee算子是对二维函数进行运算的二阶导数算子,与方向无关,对取向不敏感,因而计算量要小。根据边缘的特性,Laplace算子可以作为边缘提取算子,计算数字图像的Laplaee值可以借助模板实现,但是它对噪声相当敏感,它相当于高通滤波,常会出现一些虚假边缘。由于Laplace算子存在着诸多缺陷,它一般并不直接应用于边缘检测,而是结合其它方法以提高边缘的定位精度。而Marr算子就是在Laplace算子基础上改进,由于它使用的是高斯型的Laplace模板,因此又被称作LOG算子,先对图像用Gauss函数进行平滑,然后利用Laplace算子对平滑的图像求二阶导数后得到的零交叉点作为待选边缘。LOG算子就是对图像进行滤波和微分的过程,是利用旋转对称的LOG模板与图像做卷积,确定滤波器输出的零交叉位置。
1.3 Canny算子
Canny算子是最常用的边缘检测方法之一,是一个具有滤波、增强和检测的多阶段的优化算子。
该算法的基本过程如图1所示。
Canny算子检测边缘的实质是求信号函数的极大值问题来判定图像边缘像素点。基本步骤为:
(1)用高斯滤波器平滑图像;
(2)用一阶偏导的有限差分来计算梯度的幅值和方向;
(3)对梯度幅值进行非极大值抑制;
(4)用双阈值算法检测和连接边缘。Canny算子能够得到连续完整的图像,但需要注意的问题是:Gauss滤波的尺度,以及双阈值的选择。
1.4 基于Snake模型的边缘检测算法
Snake模型是1987年由Kass提出的,它的基本思想是以构成一定形状的控制曲线为模板(或者称为轮廓线),通过模板自身的弹性形变与图像局部特征相匹配达到调和,即某种能量函数极小化,完成对图像边缘的提取,通过对模板的进一步分析而实现图像的理解和识别。能量最小化模型已经有了很长的发展历史,Kass对其进行了改进,采用动态调整的方法来实现它,对图像的高层信息进行分析和提取而不至于受到太多低层信息的影响。通过在原始的最小化函数中加入外力因子,可以引导初始化的轮廓线朝着特定的方向前进,最后达到提取目标边界的目的。
1.4.1 基本Snake模型
Kass等提出的基本Snake模型由一组控制点组成,即v(s)=(x(s),y(s)),s&[0,1],其中x(s)和y(s)分别表示每个控制点在图像中的坐标位置,s是以傅立叶变换形式描述边界的自变量。其对应的能量函数定义为:
式中:Eint为曲线的内部能量;Eext为外部能量。
内部能量定义为:
式中|vs(s)|为弹性能量,是曲线相对于弧长的一阶导数的模,受弹性系数的调节,控制着曲线的张力。|vss(s)|是弯曲能量,是曲线相对于弧长的二阶导数的模,受刚性系数的调节,控制曲线的变形程度。
对于普通的灰度图像I(x,y),典型的外部能量(外部力)表达有如下2种定义:
式中▽为梯度算子,是方差为&的二维高斯函数。在图像边缘区域,图像灰度值的梯度往往较大,取反后计算以满足能量最小的要求。
每一次迭代,曲线的变形是为了使如下的能量函数达到最小化:
弹性能量和弯曲能量合称内部力,内部力用于控制轮廓线的弹性形变,选取适当的参数&(s)和&(s)将能量函数ESnake极小化,所对应的v(s)就是对物体的分割。在能量函数极小化过程中,弹性能量迅速把轮廓线压缩成一个光滑的圆,弯曲能量驱使轮廓线成为光滑曲线或直线,而外部力则使轮廓线向图像的高梯度位置靠拢,基本Snake模型就是在这3个力的联合作用下工作的。
1.4.2 改进的Snake模型
基本Snake模型在应用的时候存在一些缺陷:
(1)要求初始的轮廓线必须与目标边缘非常的接近,这是因为能量函数往往会收敛到一个非期望的局部最小值,如果初始的轮廓线离目标较远,就会使曲线变形到一个无法预计的形状;
(2)基本Snake模型对无法捕获凹陷边界。这样就限制了Snake模型应用到一些存在凹陷区域的图像上。
近年来,针对以上缺陷,许多研究不仅对Snake模型本身的能量函数构造和求解算法作了很大改进,更在其基础上衍生出了许多新轮廓线模型,它们有些在形式上已经与基本Snake相去甚远,而且也要复杂得多,但其指导思想却是一脉相承的。比如,Cohen提出了一种气球力理论,通过使用不同尺度的外力场,增加外力场的捕捉范围,来驱动轮廓线向目标边缘逼近。XuChenyang提出的GVF Snake将梯度矢量场(GVF)代替传统外力场,让曲线随着图像凹陷的部分而发生变形,圈出凹陷的边缘,由于GVF对轮廓线的初始位置不是非常的敏感,尤其对于二值图像,所以它可以很快的收敛到目标边缘,很好地解决了这些问题。
GVF Snake将基本Snake的外部力用扩散方程进行处理,得到整个图像域的梯度向量场作为外部力,经过扩散方程处理后的GVF更加有序,更能体现物体边界的宏观走势。由于GVF不是一个表达式,无法用能量函数的形式求解,因此GVF Snake是利用力的平衡条件进行优化,GVF Snake具有更大的搜索范围,对轮廓线初始位置不敏感,可以分割凹陷的边界,对梯度绝对值的大小乃至噪声具有更好的鲁棒性,而且它还不必预先知道轮廓线是要膨胀还是收缩。
本文将改进的GVF Snake模型应用于医学超声液性病变图像中,并与其他的边缘检测方法进行比较分析。
2 实验结果分析
医学超声诊断出的液性病变多以囊肿为主,常见的囊肿有甲状腺囊肿、卵巢囊肿、肝囊肿等,这些超声液性病变图像灰度变化梯度不大,多见数个无回声区,呈&蜂窝状&,边界不清晰。
本文选取两幅具有代表性的肝囊肿、甲状腺囊肿超声液态病变图像,用不同的边缘检测算法对其进行处理,实验结果如图2,图3所示。
通过以上两组实验可以看出,由于超声液态病变图像固有特征,经典的边缘检测算法并不能清晰的勾画出液性病灶的边缘来,对包含病灶区域的扩大区域实施边缘检测算法,将得到更多冗余的边缘信息,不能得到感兴趣病灶区域的轮廓。而Snake模型却可以较好地选取特定的区域,利用算法特有的曲线变化方式,最终收拢到双侧灰度梯度变换平衡点位置,达到边缘提取的良好效果,主要原因在于:
(1)Snake模型可以人为的设定待提取边缘的主要控制点,缩小了曲线变化的范围,更加具有针对性的对特定区域进行边缘提取;
(2)Snake模型对图像灰度变化较敏感,在曲线内力和外力达到平衡的情况下,曲线可以很好的稳定在一个位置,形成平滑的连续的曲线。
本文应用几种不同的边缘检测算法提取医学超声液态病变图像的边缘,实验结果表明,经典边缘检测算法的提取效果不明显,而基于Snake模型的边缘提取算法由于采用动态的调整方法,提取的图像边缘完整、平滑、清晰,方便于后续的诊断性测量,具有一定的临床应用价值,因此,在临床使用的医学超声仪器中,使用类似算法提取液性病变图像边缘,将是一个应用趋势。
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
与非门科技(北京)有限公司 All Rights Reserved.
京ICP证:070212号
北京市公安局备案编号: 京ICP备:号 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
路面破损图像的边缘检测研究
下载积分:1000
内容提示:路面破损图像的边缘检测研究
文档格式:PDF|
浏览次数:10|
上传日期: 20:29:26|
文档星级:
全文阅读已结束,如果下载本文需要使用
 1000 积分
下载此文档
该用户还上传了这些文档
路面破损图像的边缘检测研究
关注微信公众号

我要回帖

更多关于 matlab求灰度图像梯度 的文章

 

随机推荐