现代数字图像处理技术提高及应用案例详解(MATLAB版)下

所需积分/C币:15 2015-10-21 09:49:43 11.26MB PDF
收藏 收藏
举报

图书详细讲解了图像分析的原理与方法,程序通过MATLAB运行得到验证
第1章精通“图像特征提取” 检查位置空间中的每个点;如果该点的拉普拉斯响应值都大于或小于其他26个立方空现 间邻域的值那么该点就是被检测到的图像斑点。上述寻找位置空间(,和尺度空代 间t的峰值可通过如下数学公式表示: (r,y, t)=arg max min local(r,)(Norml(,y, t)) 例程1.4-1为检测LoG斑点的 MATLAB源程序 【例程1.4-1】 function points= log Blob(img, o nb blobs) 各功能:提取IoG斑点 告输人:ing-输入的图像 mb blobs-需要检测的斑点区域的数量 处理技术提高及 号输出: points-检测出的斑点 各参考文献: Lindeberg,T. Feature detecε ion with Automatic scale selection Ieee, Transactions Pattern Ana-ysis Machine Intelligence, 1998,30,77-116 号输人图像 img=double(img(:,, 1))4 告设定检测到斑点的数量 详 if nargin ==1 nb blobs=120: else nb blobs =o nb blobs 各设定LoG参数 sigma_ begin=2; 版 sigma end=151 sigma step=l; 41 sigma array= sigma begin: sigma step: signa end; sigma umel(sigm ray); 号变量 h=size〔img,1) g width= size(img, 2); 告计算尺度规范化高斯拉普拉斯算子 snl height idth nb) sigma=sigma array(i); solo(:,:,=)=sigma x sigma x imfilter( mg, fspecial(log, floor(6 X sigma I 1), gma),replicate): end 搜索局部极值 solo dil= imdilate(sola, ones(3,3, 3)) blob_candidate_index=find(snlc==silo_dil); blob candidate value= snlo(blok candidate index) tmp, index= sort(blob candidate value, descend) blob index -blob candidate index( index(l: nin(nb blobs, numel(index)))) Llig, col, sca]=ind2 sub(L img height, img width, sigma ab], blob index) points =Llig, col, 3* reshape(sigma_ array(sca), Lsize(lig, 1),1])]+ 第1章精通“图像特征提取” 通过例程1.4-2所示的draw函数可将检测出的斑点绘出。 【例程1.4-2】 现代数字图像处理技术提高及应用案例详 function draw(img, pt, str) 各功能:在图像中绘制出特征点 输人:inmg-输入的图像t-检测出的特征点的坐标 str-在图上显示的名称 figure( Name, str hold on axis off switch size(pt, 2) case 2 =2 for i=l: size(pt, 1) rectangle('Pcsition, pt(i, 2)-s, pt(i, 1)-s rVaLuE re,00] 例| Edge color,b, LineWidth,2) case 3 for i=1: size(pt, 1) rectangle( Positior, pt(i, 2)-pt(i, 3),pt(i, 1)-pt(i, 3), 2* pt(i, 3),2 pt (1, 3),Curvature, [1, 1, EdgeColor, w, LineWidth, 2) 版 在 MATLAB指令窗口中输入如下指令,便可得到如图1.4-3的运行结果 42 dc sunfl pq) imshow(img) pt=log Blob(rgo2gray(img)); draw(img, pt, 'LoG Linceherg); (a)原始图像 (b)L0G斑点的检测结果 图1.4-3例程1.4-1与例程1.4-2的运行结果 第1章精通“图像特征提取” 1.4.2描绘“DoH斑点” 现 图像像素点的二阶徵分 Hessian矩阵为: L- I H(L) 它的行列式值为DoII( Determinant of hessian): det=σ4(L( y )-2(x,y,a) 与LoG算法相比,DoI方法对图像中细长结构的斑点具有良好的抑制作用。 处理技术提高及 与LG算法一样,1esin矩阵行列式的值同样也反映了图像局部的结构信息。术 采用DoH方法对图像斑点进行检测,其步骤分为以下两步: ①使用不同的生成a、司8模板,并对图像进行卷积运算 ②在图像的位置空间和尺度空间搜索DoH响应的峰值 案 经验分享尺度空间的斑点检测算法可以很好地检测出图像中不同尺寸的:译 白◆曹白q會分分◆>卡曰心申口◆白心章口分昏口分口會分會白◆心曹?口白分曹Q分香分◆香宁立加口會臼睿白中中口香分分申口分分Q青口⊙昏白 斑点,与此同时,它还可以通过控制特征检测算子响应阈值,对检测得到的斑点 进行筛选。这样,可以很好地对图像中的噪声进行抑制,因为噪声往往是在很小 的尺度上才出现,并且响应值比较小 中申C口◆a0口◆中心口(中口申⊙2中口C中曹正中口0申口口口C中C口中印口中⊙中中口口·以口中口可中出D0中中印C中0◆G中中心口申口口中口曾口中口⊙申寺⊙⊙中 ◆小试牛刀 版 请读者根据上述提取DoH的步骤,自己编写提取DoH斑点的程序 1.4.3提取“ Gilles斑点 3 Gilles斑点检测是由牛津大学的S. Gilles博士于1988年在其博士学位论文《Ro bust Description and Matching of Images》中提出的,该检测算法基于图像的局部纹理 特征对斑点进行检测。图像的局部熵值是衡量数字图像局部纹理特征的度量,因此 Gils斑点检测的核心思想是:求待检测图像的局部熵值之后,检测其局部极值。 Gilles斑点检测的具体步骤如下:建立圆形掩模;在图像中求局部邻域(与掩模区 域大小相同)的熵值;求局部熵的局部极值;与设定的阈值相比较,大于阈值的位置便为 所要检测的 Gilles斑点的位置。 例程1.4-3为检测Gll斑点的 MATLAB程序。 【例程1,4-3】 function points= gilles(im,o radius 号功能:提取Gi!es斑点 号输入:im-输入的图像 o radius-斑点检测半径(可选 输出:poir:s-检测出的斑点 各参考文献:S.Gi1les, Robust Descr-ptian and Matching of Images. Phd thesis, ford University, Ph. D, Thesis, Oxford University, 1988 1) 第1章精通“图像特征提取” 各交量 if nargin==1 10 else 现代数字图像处理技术提高及应用案例详 radius =o radius; d 号建立掩模(mask)区域 mask=fspecial(disk, radius)>0 各计算掩模区域的局部熵值 loc ent= entropyfilt(im, mask) 号寻找局部最值 1, C, tmp]=findLocalMaxinum(loc ent, radius) 号超过阈值的斑点确定为所要提取的斑点 1, c=find(Lmp.0.95* max(tmp(:))); points=[l, C, repmat(radius, [size(1, -),1])1: end 在 MATLAB指令窗口中输入如下指令,便可得到如图1.4-4所示的运行结果。 img= imread( patrol. jpg) pt= gilles(rgh2gray(img) draw(img, pt, Gilles) 44 图1.4-4例程1.4-3的运行结果 一谙中的对图像中点检测的步骤主晏分为两大部分:一是生成掩模,对图像 进行卷积运算;二是搜索局部响应的峰值。 1.5角点特征检测 温馨提示】角点检测是计算机视觉和数字图像处理领域中常用的一种算子。通 过本节的介绍,读者应主要掌握 Harris角点检测的基本原理、主要特点和实现步骤。 1.5.1何谓“角点” 现实生活中的道路和房屋的拐角、道路十字交叉口和丁字路口等休现在图像中,就 是图像的角点。对角点可以从两个不同的角度定义:角点是两个边缘的交点;角点是邻 第1章精通“图像特征提取” 域内具有两个主方向的特征点。角点所在的邻城通常也是图像中稳定的信息丰富的现 区域,这些颔域可能具有某些特性:如旋转不变性尺度不变性、仿射不变性和光照亮度代 不变性。因此,在计算机视觉和效字图像领域,硏究角点具有重要的意义, 从20世纪70年代至今,许多学者对图像的角点检测进行了大量的研究。这些方图 法主要分为两类:基于图像边缘的检测方法和基于图像灰度的检测方法。前者往往需像 要对图像边缘进行编码这在很大程度上依赖于图像的分潮和边缘提取,具有较大的计岔 算量,一且待检测H标局部发生变化,很可能导致操作失败。早期主要有 Rosenfeld和技 Freeman等人的方法,后期有曲率尺度空间(xsS等方法。基于图像灰度的方法通过术 计算点的曲率及梯度来检测角点避免了第一类方法存在的缺陷,是目前研究的重点。提 此类方法主要有 Moravec算子、 Forstner算子、 Harris算子、 SUSAN算子等。 及 评价角点检测算法性能优劣主要从以下5个面来考虑。 ①准确性:即使很细小的角点,算法也可以检测到; ②定位性:检测到的角点应尽可能地接近它们在图像中的直实位置; 案 ③稳定性:对相同场景拍摄的多幅图片,每一个角点的位置都不应该移动; 详 ④实时性:角点检测算法的计算量越小、运行速度越快越好; ⑤鲁棒性:对噪声具有抗干扰性。 1.5.2描绘“ Harris角点” 1.基本原理 版 人眼对角点的识别通常是在一个局部的小区域或小窗口完成的,如图1.5-1(a) 所示。如果在各个方向上移动这个特定的小窗口,窗口内区域的灰度发牛了较大的变 45 化,那么就认为在窗口内遇到了角点,如图1.5-1(b)所示。如果这个特定的窗口在图 像各个方向上移动时,窗口内图像的灰度没有发生变化,那么窗口内就不存在角点,如 图1.5-1(c)所示。如果窗口在某一个(些)方向移动时,窗口内图像的灰度发生了较 大的变化,而在另一些方向上没有发生变化,那么,窗口内的图像可能就是一条直线的 线段,如图1.5-1(d)所示。 (a)图像1 (b)图像2 (c)图像3 (d)图傻4 图1.5-1窗口、窗口的移动与角点检测 对于图像I(x,y),在点(x,y)处平移(△x,△y)后的自相似性可以通过自相关函数 给出: 第1章精通“图像特征提取” c(x,y,△x,△y)=∑"(u,v)(l(u,v)-(+△r,v+△y)2(1.5.1) ∈Wx,y) 式中,W(x,y)是以点(x,y)为中心的窗口 )为加权函数,它既可以是常数,也可 现代数字图像处理技术提高及应用案例详 以是高斯加权乐数,如图1.5-2所示 a常数如权函数 b)高斯加权函数 图1.5-2加权函数 根据泰勒展开,对图像Ⅰ(x,y)在平移(△x,△y)后进行一阶近似: I(n+△x,v+△y)≈I(u,)+I2(n,)Ax+I、(u,v)△y =(u,v)+[I,(u,a),I(u,o) 1.5.2) △ 解式中,、是图像!(x,y)的偏导数。这样,式(1.5.1)可以近似为: ∑((n,g)-1(n+△x,g+△y) ∑[1(,),(v,2) 版 △ [Ax△y 式中 M(I, y) I(u,)I、(,v)I1(u,z) I (u, v) (,v)(,z) A C B 也就是说图像I(x,y)在点(x,y)处平移(△x,△y)后的自相关函数可以近似为二次 项函数 )≈[△x△yM(x,y) 1.5.5) 二次项函数本质上是一个椭圆函数,如图1.53所示。椭圆的扁率和尺寸由M (x,y)的特征值A1、A2决定,椭圆的方向由M(x,y)的特征矢量决定,椭圆的方程式为: [△r△yM(x,y/4 1.5.6) 第1章精通“图像特征提取” 图1.5-4是二次项函数的特征值与图像中的角点、直线(边緣)和平面之间的关现 系,可分为三种情况: ①图像中的直线。一个特征值大,另一个特征值小即x2入2或AA:自相关两数 数值在某一方向上大,在其他方向上小。 ②图像中的平面。两个特征值都小,且近似相等;自相关函数值在各个方向上像 都小。 图像中的角点。两个特征值都大,且近似相等;自相关函数在所有方向上都 增大。 2边综 A>/●角点 λ和凡2都很大,E在所有 处理技术提高及应用案例 方向都是增加的 变化最快 详 的方向 变化最慢 的方向 (hmu) 边缘 平而 λ1和A:都小 版 图1.5-3二次项特征值与椭圆变化的关系 图1.5-4特征值与图像中点线面之间的关系 47 根据二次项函数特征值的计算方法,可以求式(1.5.4)的特征值。但是 Harris给 出的角点判别方法并不需要计算具体的特征值,而是计算一个角点响应值R来判断角 点。R的计算公式为: R= det M-a(trace M) A C 式中,detM为矩阵M(x,y)= 的行列式; trace y为矩阵M的直迹;a为经验 C B 常数,取值范围0.04~0.06。事实上,特征值是隐含在dtM和 trace M中,因为: det m=d-a,=Ac-B (1.5.8) trace=1+12=A+C 2,具体步骤 根据上述讨论,可以将图像 Harris角点的检测算法实现步骤归纳如下 ①计算图像I(r,y)在r和y两个方向的梯度Ⅰ、Iy: ar (101),Ⅰ I ③(-101) ②计算图像两个方向梯度的乘积: 第1章精通“图像特征提取” Ⅰ·I, ③使用高斯函数对2、3和Ⅰ进行高斯加权,生成矩阵M的元素A、B、C: 现代数字图像理技术提高及 g(2)=2 B=g(2)=737C=g(I)=I ④计算每个像元的 Harris响应值R,并对小于某一阈值的R置为零 R=R:dct M-a(tracc M)<ty ⑤在3×3或5×5的邻域内进行非极大值抑制,局部极大值点即为图像中的 技角点 3. Harris角点的性质 (1)参数a对角点检测的影响 假设已经得到了式(1.5.4)所示矩阵M的特征值A1≥A2≥0,令A1=A,2=k,0≤ k≤1。由特征值与矩阵M的直迹和行列式的关系可得 detM=1A, trace m=∑入 (1,5,9) 由式(1.5.9)可得: R=A1A2-a(1+A2)2=A2(-a(1+k)2) (1.5.10) 假设R≥0,则有 (1+h)2≈0.25 版对于较小的k值,R≈2(k-),a<k。 由此,可以得出这样的结论:增大α值,将减小角点响应值R,降低角点检测的灵敏 性,减少被检测角点的数量;减小a值,将增大角点响应值R,增加角点检测的灵敏性, 增加被检测角点的数量。 (2) Harris角点检测算子对亮度和对比度的变化不敏感 Harris角点检测算子对图像亮度和对比度的变化不敏感,如图1.5-5所示。这是 因为在进行 Harris角点检测时,使用了微分算子对图像进行微分运算,而微分运算对 图像帟度的拉升或收缩和对亮度的抬高或下降不敏感。换言之,对亮度和对比度的仿 射变换并不改变 Harris响应的极值点出现的位置,但是,由于阈值的选择,可能会影响 检测角点的数量。 R 阅 值 (a)亮度:FH+变化不景响响应值R的峰值位置和个数(b对比度:Fa的变化不影响的位置和个数 图1.5-5亮度和对比度的变化对 Harris检测算子的影响

...展开详情
试读 50P 现代数字图像处理技术提高及应用案例详解(MATLAB版)下
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    关注 私信 TA的资源
    上传资源赚积分,得勋章
    最新推荐
    现代数字图像处理技术提高及应用案例详解(MATLAB版)下 15积分/C币 立即下载
    1/50
    现代数字图像处理技术提高及应用案例详解(MATLAB版)下第1页
    现代数字图像处理技术提高及应用案例详解(MATLAB版)下第2页
    现代数字图像处理技术提高及应用案例详解(MATLAB版)下第3页
    现代数字图像处理技术提高及应用案例详解(MATLAB版)下第4页
    现代数字图像处理技术提高及应用案例详解(MATLAB版)下第5页
    现代数字图像处理技术提高及应用案例详解(MATLAB版)下第6页
    现代数字图像处理技术提高及应用案例详解(MATLAB版)下第7页
    现代数字图像处理技术提高及应用案例详解(MATLAB版)下第8页
    现代数字图像处理技术提高及应用案例详解(MATLAB版)下第9页
    现代数字图像处理技术提高及应用案例详解(MATLAB版)下第10页
    现代数字图像处理技术提高及应用案例详解(MATLAB版)下第11页
    现代数字图像处理技术提高及应用案例详解(MATLAB版)下第12页
    现代数字图像处理技术提高及应用案例详解(MATLAB版)下第13页
    现代数字图像处理技术提高及应用案例详解(MATLAB版)下第14页
    现代数字图像处理技术提高及应用案例详解(MATLAB版)下第15页

    试读已结束,剩余35页未读...

    15积分/C币 立即下载 >