热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

利用MATLAB实现“逢七必过”游戏规则与数字图像处理技术的应用——第4章深入解析

在《数字图像处理及应用(MATLAB)第4章》中,详细探讨了“逢七必过”游戏规则的实现方法,并结合数字图像处理技术进行了深入分析。本章通过丰富的实例和代码示例,展示了如何利用MATLAB实现这一游戏规则,并介绍了数字图像处理的基本原理和技术应用。内容涵盖了图像增强、滤波、边缘检测等多个方面,为读者提供了全面的技术支持和实践指导。

《数字图像处理及应用(MATLAB)第4章》由会员分享,可在线阅读,更多相关《数字图像处理及应用(MATLAB)第4章(149页珍藏版)》请在人人文库网上搜索。

1、第四章 图像分割与特征分析,4.1 阈值分割 4.2 区域分割 4.3 边缘检测 4.4 Hough变换 4.5 几何及形状特征分析 4.6 纹理特征分析 4.7 标记与拓扑描述符,牢幂核驭趟咏紧隙耗颈拐身矢参只孰迎疙郧退署烃敞志慑碳钟津艳郑渴瓷数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,图像分割是把图像分成若干个有意义区域的处理技术。从本质上说是将各像素进行分类的过程。分类所依据的特性可以是像素的灰度值、颜色或多谱特性、空间特性和纹理特性等。在每个区域内部有相同或者相近的特性,而相邻区域的特性不相同。一般假设在同一区域内特性的变化平缓,而在区域的边界上特。

2、性的变化剧烈。简单地讲,就是在一幅图像中,把目标从背景中分离出来,以便于进一步处理。 使用计算机分析和识别图像,必须分析图像的特征,图像特征是指图像中可用作标志的属性,可以分为视觉特征和统计特征。图像的视觉特征是指人的视觉直接感受到的自然特征(如区域的颜色、亮度、纹理或轮廓等);统计特征则是需要通过变换或测量才能得到的人为特征(如各种变换的频谱、直方图、各阶矩等)。 本章主要讲述阈值分割、区域分割、边缘检测、Hough变换以及图像特征分析等内容,并对图像配准的基本方法等进行简单介绍。,烯赖庶拣肾排艳特绘讯泼蚜下趾零贝图发淑舌荔圣苞俺漳瓦闰疑骇量挨盔数字图像处理及应用(MATLAB)第4章数字图。

3、像处理及应用(MATLAB)第4章,4.1 阈值分割,若图像中目标和背景具有不同的灰度集合:目标灰度集合与背景灰度集合,且两个灰度集合可用一个灰度级阈值T进行分割。这样就可以用阈值分割灰度级的方法在图像中分割出目标区域与背景区域,这种方法称为灰度阈值分割方法。 设图像为,其灰度级范围是0,L-1,在0和L-1之间选择一个合适的灰度阈值T,则图像分割方法可描述为:,揖烧裸找朝嗅剃筋介涧峙润篱钨伎誓娩封继投碌扑脖掏唾锥汤姿涕掂掷搁数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,4.1 阈值分割,这样,得到的是一幅二值图像。在阈值分割中,重要的是阈值的选取。阈值的选。

4、取方法很多,一般可以分为全局阈值法和局部阈值法两类。如果分割过程中对图像上每个像素所使用的阈值相等,则为全局阈值方法;如果每个像素所使用的阈值不同,则为局部阈值方法。局部阈值法常常用于照度不均或灰度连续变化的图像的分割。,檬羹溶尿豹孺携懈不忆缴十豌籽涧含半舟咒要超岗谭收蒸冗挛璃围乎庶披数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,4.1.1 灰度阈值分割,这里主要讨论利用像素的灰度值,通过取阈值进行分类的过程。这种分类技术是基于下列假设的:每个区域是由许多灰度值相近的像素构成的,物体和背景之间或不同物体之间的灰度值有明显的差别,可以通过取阈值来区分。待分割图。

5、像的特性愈接近于这个假设,用这种方法分割的效果就愈好。其主要性质为: (1)根据像素点的灰度不连续性进行分割,边缘微分算子就是利用该性质进行图像分割的; (2)利用同一区域具有某种灰度特性(或相似的组织特性)进行分割。灰度阈值法就是利用这一特性进行分割的。,严蹋复焕篱傻甫料采撬邻室爵阳曼莲歉系能炬腔光业毅设讯卡牡殉示酒沂数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,1灰度图像二值化,灰度阈值法是一种最常用同时也是最简单的分割方法。只要选取一个适当的灰度级阈值T,然后将每个像素灰度和它进行比较,将灰度点超过阈值T的像素点重新分配以最大灰度(如255),低于阈值。

6、的分配以最小灰度(如0),那么,就可以组成一个新的二值图像,这样可把目标从背景中分割开来。 图像阈值化处理实质是一种图像灰度级的非线性运算,阈值处理可用方程加以描述,并且随阈值的取值不同,可以得到具有不同特征的二值图像。,家甥怀秩柴野菌虱杯光档脱驼烤芝看漓靠酋潦先堆噶音乓欢当吉蝎稿修拢数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,例如:若原图像的灰度范围为,那么在之间选择一个灰度值T作为阈值,就可以有两种方法定义阈值化后的二值图像。 令阈值化后的图像为: 令阈值化后的图像为:,棉卧橇女天糟泊黄讼仙委卜没奈蒜拳汁敝蔷疾篆牧嘿必蓄笨尧壕且步薛隆数字图像处理及应用。

7、(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,两种变换函数曲线如图,逢网朵心焚淋摄尊锅蜀式胡渝爪骸绝恃锻要联斑岛欺唆暖蝉口襟碾采玩床数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,例利用图像分割测试图像中的微小结构% 图像分割测试图像中的微小结构I=imread( cell.tif); % 读入原始图像到I变量subplot(1,4,1),imshow (I), title ( 原始图像 );Ic = imcomplement (I); % 调用imcomplement函数对图像求反色BW = im2bw( Ic, graythresh (I。

8、c) ); % 使用im2bw函数,转换成二值化图像来阈值分割subplot ( 1,4,2 ), imshow (BW), title (阈值截取分割后图像 );se = strel( disk ,6);% 创建形态学结构元素,选择一个半径为6个像素的圆盘形结构元素 BWc = imclose ( BW, se); % 图像形态学关闭运算BWco = imopen ( BWc, se); % 图像形态学开启运算subplot ( 1,4,3 ), imshow (BWco), title ( 对小图像进行删除后图像 );mask = BW,寡脂判碑弥选服竟博莫仗脓芳支炳净霹宝收渐调款卫擞离枯。

9、涪龟尊崭披承数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,程序运行结果,刚路志窍瓮郑层伙热使蠕惨烁抽泉冒氧鹊铀篇肤隅钡毯谦森硷酉螟陪诡愚数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,2灰度图像多区域阈值分割,在灰度图像中分离出有意义区域最基本的方法是设置阈值的分割方法。若图像中存在背景和n个不同意义的部分S1,S2,Sn,如图 所示。,组钒敞之言蹭芯峦彭断旅隐碍贴则颐椎畏霸费断昏伪时篓度势岗执尔劲过数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,或者说该图像有(n+1)个区域组成,各个区域。

10、内的灰度值相近,而各区域之间的灰度特性有明显差异,并设背景的灰度值最小,则可在各区域的灰度差异设置n个阈值T0,T1,T2,Tn-1(T0T1T2Tn-1 ),并进行如下分割处理:,蒜拓欧漫赊禁唱革掠蔑怂藤悲豁康董航敞哩啥缺晓卜篷拙念徘坏赚婆州热数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,f(i,j)为原图像像素的灰度值;g(i,j)为区域分割处理后图像上像素的输出结果;g0,g1,g2,gn分别为处理后背景S0,区域S1,区域S2,区域Sn中像素的输出值或某种标记。,拇涕爱磕愿秆算齐壬啸炭瑞榜晨欧积坡蔑盆疡宅曰戈呕畦我颜吮闰委钵堰数字图像处理及应用(MA。

11、TLAB)第4章数字图像处理及应用(MATLAB)第4章,图像中各点经上述灰度阈值法处理后,各个有意义区域就从图像背景中分离出来,状站搞候躯簇揽煞检烷苗盯示灌搬畜环积训柴孽镇联渭敢迅绩范缠述米阴数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,4.1.2 直方图阈值分割,1直方图阈值双峰法 若灰度图像的灰度级范围为i=0,1,L-1,当灰度级为k时的像素数为nk,则一幅图像的总像素N为:,灰度级i出现的概率为:,抖急稗开昔鹤屑普霹峦艺瞥钵增飘盔饱痰县褐存蒙汹篱惊驹蹬辟尸代臀刨数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,当灰度。

12、图像中画面比较简单且对象物的灰度分布比较有规律时,背景和对象物在图像的灰度直方图上各自形成一个波峰,由于每两个波峰间形成一个低谷,因而选择双峰间低谷处所对应的灰度值为阈值,可将两个区域分离。 把这种通过选取直方图阈值来分割目标和背景的方法称为直方图阈值双峰法。 如图所示,在灰度级和两处有明显的峰值,而在t处是一个谷点。,目砰橇嘻属精箔臼十铺巷休砖七戮休隔韵厕发狡曳兵庞歪毁乍朽捧蜗溪穆数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,具体实现的方法是先做出图像的灰度直方图,若只出现背景和目标物两区域部分所对应的直方图呈双峰且有明显的谷底,则可以将谷底点所对应的灰度。

13、值作为阈值t,然后根据该阈值进行分割,就可以将目标从图像中分割出来。这种方法适用于目标和背景的灰度差较大,直方图有明显谷底的情况。,蹭员阁尽钟蹬终圈脾躁暗坍哺直俞付友肪泵津技善帐帖汇贞蜂斤拌贷猿岛数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,例 用直方图双峰法阈值分割图像,clear I=imread(pout.tif); % 读入灰度图像并显示 subplot(1,3,1); imshow(I); subplot(1,3,2); imhist(I); % 显示灰度图像直方图 Inew=im2bw(I,100/255); % 图像二值化,根据140/255确。

14、定的阈值,划分目标与背景 subplot(1,3,3); imshow(Inew); % 显示分割后的二值图像,荐檬考辈甩洛蔷杠拧影问北防己好肢睹玻蘸渠绥超官衡莆瘤见捏揖攻足钥数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,再设置一个阈值,就能完成分割处理,并形成仅有两种灰度值的二值图像。,直方图阈值双峰法的图像分割效果,疵频贡斯刘摸谨肇弛剃榨铣殉遁耙傍验绑堡履邪萌靡霹巨帜杯喀敲茎挨辊数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,双峰法比较简单,在可能情况下常常作为首选的阈值确定方法,但是图像的灰度直方图的形状随着对象、图像。

15、输入系统、输入环境等因素的不同而千差万别,当出现波峰间的波谷平坦、各区域直方图的波形重叠等情况时,用直方图阈值法难以确定阈值,必须寻求其他方法来选择适宜的阈值。,釉蹲应匹盗祖泼炭识好栖糟葵歼嗜捐宰砒菌本橱贯蒂么丧筷误焦伤幅熙垮数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,2动态阈值法,在有些情况下,整幅图像用一个固定的阈值来分割,可能得不到好的分割效果。此时可以利用取动态门限值的方法分割图像。取动态门限值是先将图像分成若干块,对每一块按其局部直方图由上述方法选择门限值。,状引殃帚氟狠赖脐陋摆弊驻购祸潍瞥判索脱掘翅阮肉胰匀棉娱饲诡驼氓乍数字图像处理及应用(MA。

16、TLAB)第4章数字图像处理及应用(MATLAB)第4章,4.1.3 最大熵阈值分割,图像最大熵阈值分割方法是应用信息论中熵的概念与图像阈值化技术,使选择的阈值t分割图像目标区域、背景区域两部分灰度统计的信息量为最大。 设分割阈值为t,为灰度i出现的概率。,卡初能柄童穆庄猎荔袄甚奸屑索戊茎鸵劣躯雍恳斟豪璃砍帝辟料卫扯斋而数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,对数字图像阈值分割的图像灰度直方图如图4.1.7所示,其中,灰度级低于t的像素点构成目标区域O,灰度级高于t的像素构成背景区域B,由此得到目标区域O的概率分布和背景区域B的概率分布。,目标区域O的。

17、概率灰度分布:,背景区域B的概率灰度分布:,咸仁王账租知肿奈役淖淑碍躇魏舆胶峻针听较横删世谋胸究琴海峦倦掂凭数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,由此得到数字图像的目标区域和背景区域熵的定义为:,由目标区域和背景区域熵 和 得到熵函数 定义为: 当熵函数 取得最大值时,对应的灰度值 就是所求的最佳阈值:,酷吸射误唬键粹苗镭良虎淑枉椒捎咀纯喳窃弄严敝患早字坑购蹦剥逛狙圭数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,例4.1.3 信息熵图像分割程序设计,(1)信息熵算法的具体描述如下: 根据信息熵算法定义,求出原始图像。

18、信息熵H0,为阈值T选择一个初始估计值阈值T0,将其取为图像中最大和最小灰度的中间值。 根据T0将图像分为G1和G2两部分,灰度大于T0的像素组成区域G1,灰度小于T0的像素组成区域G2。 计算G1和G2区域中像素的各自平均灰度值M1和M2。 取新的阈值: 根据T2分割图像,分别求出对象与背景的信息熵Hd和Hb,比较原始图像信息熵H0与Hd+Hb的大小关系,如果H0与Hd+Hb相等或者相差在规定的范围内,或者达到规定的迭代次数,则可将T2作为最终阈值结果,否则将T2赋给T0,将Hd+Hb赋给H0,重复到步的操作,直至满足要求为止。,舒译涎扼擦蚂转蒙柏梗讹攫挥重活徒辜杂莲滞列皿卸况捻剃旱琼竣酶谱。

19、嵌数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,(2) 最大信息熵算法程序的实现,clear; close all; I=imread(cameraman.tif); %输入原图像 subplot(1,2,1), imshow(I);title(原始彩色图像) %显示原始彩色图像 if length(size(I)=3 %如果是彩色图像转换为灰度图像 I=rgb2gray(I); % 将RGB图像转换为灰度图像 end X,Y=size(I); V_max=max(max(I); V_min=min(min(I); T0=(V_max+V_min)/2; %。

20、初始分割阈值 h=imhist(I); %计算图像直方图 grayp=imhist(I)/numel(I); %求图像像素概率 I=double(I); H0=-sum(grayp(find(grayp(1:end)0).*log(grayp(find(grayp(1:end)0); cout=100; %设置迭代次数为100次 while(cout0) Tmax=0; %初始化,券柒幅尊乳寝就抱单蚕殆雹双等蠕择崭恨抒套许断渗瘤浊葱末脆从拽献货数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,grayPd=0; grayPb=0; Hd=0; Hb=0; T1=。

21、T0; A1=0; A2=0 B1=0; B2=0; for i=1:X for j=1:Y if(I(i,j)=T1) A1=A1+1; B1=B1+I(i,j); else A2=A2+1; B2=B2+I(i,j); end endend,义瞳改渴较私嫌块史敛惹撅底怒剔隙藕肾咐速编贰漓幼刀涝旦凰爵踪夜袜数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,M1=B1/A1; M2=B2/A2; T2=(M1+M2)/2; TT=round(T2); grayPd=sum(grayp(1:TT); %计算分割区域G1的概率和 if grayPd=0 grayPd。

22、=eps; end grayPb=1-grayPd; if grayPb=0 grayPb=eps; end Hd=-sum(grayp(find(grayp(1:TT)0)/grayPd).*log(grayp(find(grayp(1:TT)0)/grayPd); Hb=sum(grayp(TT+(find(grayp(TT+1:end)0)/grayPb.*log(grayp(TT+(find(grayp(TT+1:end)0)/grayPb); %计算分割后区域G2的信息熵H1=Hd+Hb;cout=cout-1;,趟涡晕瓶棚儿沽量塌滋狗呈妆沤晶烷招贱迸诉施敖樟梗螺睁环镣究配展治数字图。

23、像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,if (abs(H0-H1)0.0001)|(cout=0) Tmax=T2; break; else T0=T2; H0=H1; endendTmaxcoutfor i=1:X %根据所求阈值Tmax转换图像 for j=1:Y if(I(i,j)=Tmax) I(i,j)=0; else I(i,j)=1; end endendsubplot(1,2,2), imshow(I); %输出图像分割处理后的结果title(图像处理分割后的结果);,撑揍蓖患壕旬龟妮中唁答免诧卿饮唐狄冈叫坐据甥兰棺恤问栏痉约实又辆数字图像。

24、处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,程序运行结果如图,巧般汽凰膨就敢昏洽渣坊罪饵丧谚畴咐君挥梆墙栽郁蹦蚌沈仕淳镰抛几辱数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,大信息熵算法通过编程可以迅速得到计算结果,但对大小不同尺寸的图像,运行速度会受到影响。总体来看,经过最大信息熵图像分割处理,照片画面清晰,图像信息得到最大的保留。,握后督氓拽眶臼坠展兵刀佃弗暖笆牧睡峡砂搞磷迂驳帧倒搔糕扔料诗慰痹数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,4.2 区域分割,阈值分割可以认为是将图像由大到小(。

25、即从上到下)进行拆分开,而区域分割则相当于由小到大(从下到上)对像素进行合并。如果将上述两种方法结合起来对图像进行划分,就是分裂-合并算法。区域生长法,分裂-合并法是区域图像分割的重要方法。,匹复蔬砷崩谜驹塔秤版纤谍欧迎墨斋爬保扮教润绑抚敷修暗唤酮缘巳涡壶数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,4.2.1 区域生长法,区域生长也称为区域增长,它的基本思想是将具有相似性质的像素集合起来构成一个区域。实质就是将具有“相似”特性的像素元连接成区域。这些区域是互不相交的,每一个区域都满足特定区域的一致性,具体实现时,先在每个分割的区域找一个种子像素作为生长的起。

26、始点,再将种子像素周围邻域中与种子像素有相同或相似性质的像素(根据某种事先确定的生长或相似准则来判定)合并到种子像素所在的区域中。将这些新像素当作新的种子像素继续进行上面的过程,直到再没有满足条件的像素可被包括进来,通过区域生长,一个区域就长成了。,颗阿倪卓氛戴粮咸并今冲卸蛆措谗双扫庙卑井蔬板奉蔬链剧放艳齐磷瞥夯数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,摇宦吸留什飞台辫皇掘迄辗癸垢碗峭跨冶沤蕴贤除非窒歪猾亚跳拨戴瘫厄数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,在实际应用区域生长法时需要由以下3个步骤来实现: 确定选择。

27、一组能正确代表所需区域的起始点种子像素。 确定在生长过程中将相邻像素包括进来的(相似性判别生长)准则。这个相似性准则可以是灰度级、彩色值、结构、梯度或其它特征。相似性的测度可以由所确定的阈值来判定。 确定区域生长过程停止的条件或规则。 当然,区域生长法针对不同的实际应用,需要根据具体图像的具体特征来确定种子像素和生长及停止准则。,卿丙蛤庚鹏畅漾别隅磨梦升兵赐服挖挤客傀惑戮弃杰倡肮秉爽粳偿占午显数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,1灰度差判别式,相似性的判别值可以选取像素与邻域像素间的灰度差,也可以选取微区域与相邻微区域间的灰度差。如在33的微区域中。

28、与f(m,n)像素相邻的像素数有8个。 设(m,n)为基本单元(即像素或微区域)的坐标;f(m,n)为基本单元灰度值或微区域的平均灰度值,T为灰度差阈值,f(i,j)为与(m,n)相邻的尚不属于任何区域的基本单元的灰度值,并设有标记。 则灰度差判别式为:,低腺浦卖蜜潜葬势瑶馒珠毡液坷昌点模向严潘袭忙懦盖坑络或悄炮图翻邢数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,当C T时,说明基本单元(i,j)与(m,n)相似,(i,j)应与(m,n)合并,即加上与(m,n)相同的标志,并计算合并后微区域的平均灰度值;当C T时,说明两者不相似,f(i,j)保持不变,仍为。

29、不属于任何区域的基本单元。,皿属与屏隆淀后舌颤找琶肋寥级胃哼健妻趴馁转技烷催支沟芳脂漫撂驴浅数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,2区域生长过程的案例分析例区域生长的简单示例,下图给出一个简单的例子。此例的相似性准则是邻近点的灰度级与物体的平均灰度级的差小于2(阈值T=2) 。图中被接受的点和起始点均用下划线标出, 其中图4.2.2(a)是输入图像;图(b)是第一步接受的邻近点; 图(c)是第二步接受的邻近点;图(d)是第三步也是最后一步接受的邻近点。由此得到区域生长结果的区域如图中线框内所示。这种区域生长方法是一个自底向上的运算过程。,吞煤箭靛晾粕。

30、搏者嫁横哎陇彩吩应缔墨坪伙军招务鸵猜碴鹅馋封兹蛤胸遗数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,例 举例说明用灰度差判别准则的合并法形成区域的过程。,设例中阈值T=2,在图中区域标记为A、B、C。原图像灰度值见图(a)。 用光栅扫描顺序确定合并起点的基本单元,第1个合并起点如图(b)所示,标记为A,灰度值。分别比较该基本单元与其3个邻点1、5、1的灰度差,由判别准则和设置的阈值T可得2个邻点1、1与基本单元合并,只有1个邻点5不能合并,其结果如图(c)所示,然后确定以此小区域中的3个基本单元A A A为中心的不属于任何区域的邻点有5个,并分别作相似判别得结。

31、果如图(d)。依此类推,得到小区域A不能再扩张的结果如图(e)所示,至此第1次合并结束。图(e)中的B为第2个合并起点,重复上述过程,得到与区域A灰度特性不同的区域B,如图(f)所示。最终结果将图像分割成A、B、C三个区域如图(g)所示。,铬喳妻客技涡慧灰款锚钥勤振火任读逝娠泉腥苦拈多滥碘谬寸皿技便居翌数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,(a)原图像 (b)处理过程1 (c)处理过程2,(d)处理过程3 (e)处理过程4 (f)处理过程5 (g)处理结果6,辞音痔约唉谭杨鹿瘤索妆滚蚤趴勃彬朽涉幸泪铣芝狈餐殃禾样养儿撞宰棍数字图像处理及应用(MATL。

32、AB)第4章数字图像处理及应用(MATLAB)第4章,4.2.2 分裂-合并,分裂-合并分割方法是指从树的某一层开始,按照某种区域属性的一致性测度,对应该合并的相邻块加以合并,对应该进一步划分的块再进行划分的分割方法。分裂-合并分割方法差不多是区域生长的逆过程,它从整个图像出发,不断分裂得到各个子区域,然后再把前景区域合并,实现目标提取。典型的分割技术是以图像四叉树或金字塔作为基本数据结构的分裂-合并方法。,梆蜡蜂瘤摹惦共疫苔没炎绑唁乞糯蔚证背絮猾铰诛肖听晨埋躇成性纪抵炯数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,1. 图像四叉树结构,四叉树要求输入图像的。

33、大小为2的整数次幂。设,对于NN大小的输入图像,可以连续进行4次等分,一直分到正方形的大小正好与像素的大小相等为止。换句话说,就是设R代表整个正方形图像区域,一个四叉树从最高0层开始,把R连续分成越来越小的1/4的正方形子区域,不断的将该子区域进行4等分,并且最终使子区域处于不可分状态。图像四叉树分裂与结构如图(a)和(b)所示。区域生长是先从单个生长点开始通过不断接纳满足接收准则的新生长点,最后得到整个区域,其实是从树的叶子开始,由下至上最终到达树的根,最终完成图像的区域划分。无论由树的根开始,由上至下决定每个像元的区域类归属,还是由树的叶子开始,由下至上完成图像的区域划分,它们都要遍历整个。

34、树。,滚巡哆翌文治刹岔白系亡丹召亢穷珠总酋秆亚罗斥鬃熊孟轮席评坞拐蛔国数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,图像金字塔分裂-合并基本数据结构,啦柠前任湍惟惺崩乡烯酒钻垂等换呆拉混答笨育衅劳目王斡袭洽粪铱辈竿数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,2金字塔数据结构,金字塔数据结构如上图(c)所示。是一个从11到NN逐次增加的n+1个图像构成的序列。序列中的NN图像就是原数字图像f(x,y),将f(x,y)划分为N/2N/2个大小相同互不重叠的正方区域,每个区域都含有四个像素,各区域中四个像素灰度平均值分别作为N。

35、/2N/2图像相应位置的像素灰度;然后再将N/2N/2图像划分为N/4N/4个大小相同互不重叠的正方区域,依次类推,就可最终得到图像的金字塔数据结构表达。数据的总层数为n+1,在第l层(0ln),方块的边长为N/2l。,候梳斗国烫纺秦淋戊誓呢澈殴壬奏汇狭涤项缎薯欣值临沟堑念诌掀吊伸帧数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,3分裂-合并案例分析,图像的四叉树分解指的是将一幅图像分解成一个个具有同样特性的子块。这一方法能揭示图像的结构信息。同时,它作为自适应压缩算法的第1步。实现四叉树分解可以使用qtdecomp函数。该函数首先将一幅方块图像分解成4个小方。

36、块图像,然后检测每一小块中像素值是否满足规定的同一性标准。如果满足就不再分解。如果不满足,则继续分解,重复迭代,直到每一小块达到同一性标准。这时小块之间进行合并,最后的结果是几个大小不等的块。 MATLAB图像处理工具箱中提供了专门的qtdecomp四叉树分解函数,它的调用格式为:S=qtdecomp(I) S=qtdecomp(I,threshold , mindim),段嵌迈痒砂蹄午伎小疯胆氟刻纹撕因杨锻却德哭橇锤樱愁曹却药惠妖瞪姑数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,qtdecomp(I)为对灰度图像I进行四叉树分解,返回的四叉树结构是稀疏矩阵。

37、S。直到分解的每一小块内的所有元素值相等。qtdecomp(I,threshold)通过指定阈值threshold,使分解图像的小块中最大像素值和最小像素值之差小于阈值。注意:qtdecomp函数本质上只适合方阵的阶为2的正整数次方。例如:128128或512512可以分解到11。如果图像不是2的正整数次方,分到一定的块后就不能再分解了。例如:图像是9696,可以分块4848,2424,1212,66,最后33不能再分解了。四叉树分解处理这个图像就需要设置最小值mindim为3(或2的3次方)。,伙寅丘腾翌课灭旬棋简阜狠吱伏景跟赖不窥炼刺想涯鞘锈廊疵鼎堑孜叔衡数字图像处理及应用(MATLAB)。

38、第4章数字图像处理及应用(MATLAB)第4章,例 调用qtdecomp函数实现对图像的四叉树分解。,I=imread(cameraman.tif); % 读入原始图像 S=qtdecomp(I,0.25); % 四叉树分解,返回的四叉树结构稀疏矩阵S blocks = repmat(uint8(0),size(S); for dim = 512 256 128 64 32 16 8 4 2 1; % 定义新区域显示分块 numblocks = length(find(S=dim); % 各分块的可能维数 if (numblocks 0) % 找出分块的现有维数 values = repmat。

39、(uint8(1),dim dim numblocks); values(2:dim,2:dim,:) = 0; blocks = qtsetblk(blocks,S,dim,values); end end blocks(end,1:end) = 1; blocks(1:end,end) = 1; subplot(1,2,1);imshow(I); title(原始图像); % 显示原始图像 subplot(1,2,2), imshow(blocks,);title(分解后图像);% 显示四叉树分解后的图像,壬不显污哗玩绿凶面哆碗薛猖税著婆辅镀冀晒侦担热黔廊傍曝诸恰轨邑柿数字图像处理及应用(。

40、MATLAB)第4章数字图像处理及应用(MATLAB)第4章,怕拍磺翰初贴薯淋空斡攒眼德芯拆柯惦霉拥瑶讹艳尧蛾瀑澜熏刘碰锅腮锤数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,分裂-合并算法是借助金字塔数据结构进行分裂和合并运算的典型算法,利用四叉树进行分开合并算法的主要方法如下: 分裂:设定预定允许误差阈值,如果某区域Ri不满足均一性准则H,即均一性准则的参数指标大于允许误差阈值。其表示区域Ri不是由同一类型区域组成的,则将节点分裂为4个小方块,并计算各小方块的均一性准则的参数指标。 合并:进入Ri所对应节点的4个子节点nodeli(i=1,2,3,4),如果。

41、四个子节点nodeli,有公共父节点,且4个子节点均一性准则的参数指标小于允许误差阈值,则表示这4个子域是同一类型区域,就将这4个子域合并成一个区域,进入到这4个节点的父节点。,穆向急筒惕卡媳维罚吞联模矩忘嘱康套堆讣缕业迁土绰董妥皋星验腻灵疙数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,例 分裂-合并算法分析。,设有88图像的0层、1层、2层、3层如图所示,3层为树叶,其中的数值为灰度值以及各层的小区域平均灰度值。根的灰度值表示图像的平均亮度。 根据合并准则,用小区域平均灰度与该区域内的4个值中任一之差小于等于5作为合并准则。合并由第2层开始合并。对每4块用。

42、准则判2次,只有右上角4块子区域的各灰度值满足: |34,36,37,38-(平均灰度值(34+36+37+38)/4=36.25)|5; 满足合并准则,将它们合并成一个较大的子块;如图(b)、(c)。 根据分裂准则,对在图(b)中不能合并的小区域考虑分裂,在第3层对任意四叉树判断。每一个像素与平均灰度的差超过5,即分裂,分裂小块如图(d)所示。因为已到了第3层,分裂到了各像素则停止。 把各小块区域进行总合并,即以第2层中不分裂的区域为中心,向四周已分裂小区块合并,仍用合并准则,这样就形成了不规则的大区域。由此最后完成区域的合并与分裂。如图(e)和(f)所示。,景镜胺郁屏堑乃虎媚酗鹅唉午怂襄知。

43、拌套拄谨柜榜藏优梦功帜收督梁扑筹数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,四叉树分裂-合并算法处理实例,啃歌豌辟掺燃席安壹志悯帝钞吝娄娟尾略粳申凛唉厦牺几拦藐较举守荒叠数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,4.3 边缘检测,图像边缘是图像最基本的特征,边缘在图像分析中起着重要的作用。所谓边缘是指图像局部特性的不连续性,灰度或结构等信息的突变处称为边缘。例如,灰度级的突变,颜色的突变,纹理结构的突变等,边缘是一个区域的结束,也是另一个区域的开始,利用该特征可以分割图像。常见的边缘点有三种:第一种是阶梯形边缘,即从。

44、一个灰度到比它高好多的另一个灰度,理想的阶梯形边缘如图(a)所示。第二种是屋顶形边缘,它的灰度是慢慢增加到一定程度然后慢慢减少,理想的屋顶形图像边缘如图(b)所示。第三种是线性边缘,它的灰度从一个级别跳到另一个灰度级别之后然后回来。是阶梯形图像边缘的一个特例,理想的线性边缘如图(c)所示。,蓬刨怂墟什茵萤彦可境瑟键邀疯娄摩芒披驯拣拎冉韵群矽格谤缴恼武害毁数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,边缘检测在实际应用中非常重要,首先,人眼通过追踪未知物体的轮廓(轮廓是由一段段的边缘片段组成的)而扫视一个未知物的物体。其次,若能成功地得到图像的边缘,那么图像分。

45、析就会大大简化,图像识别就会容易得多。再次,很多图像并没有具体的物体,对这些图像理解取决于它们的纹理性质,而提取这些性质与边缘检测有极其密切的关系。 边缘检测的实质是采用某种算法来提取出图像中对象与背景间的交界线。图像灰度的变化情况可以用图像灰度分布的梯度来反映,因此我们可以用局部图像微分技术来获得边缘检测算子。经典的边缘检测方法是对原始图像中像素的某小邻域来构造边缘检测算子。以下是对几种经典的边缘检测算子进行理论分析,并对各自的性能特点做出比较和评价。,遂津企哟囱吸谩猜绝孜演闭湿梁镭敲竣全垫腆雹拖赌昭闷纠碴韦坞柑鳞涎数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第。

46、4章,4.3.1 梯度算子,对图像f(x,y),在其点(x,y)上的梯度是一个二维列向量,可定义为: 梯度的幅度(模值)|Gf(x,y)|为: 函数f(x,y)沿梯度的方向在最大变化率方向上的方向角为:,掌峭窥岗脯骂栽炕恩息构假鹤铰鸥寥沟崎咸翟风殆鉴创厉谎验秽除胳锐滁数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,不难证明,梯度的幅度|Gf(x,y)|是一个各向同性的算子,并且是f(x,y)沿G向量方向上的最大变化率。梯度幅度是一个标量,它用到了平方和开平方运算具有非线性,并且总是正的。为了方便起见,以后把梯度幅度简称为梯度。在实际计算中,为了降低图像的运算量。

47、,常用绝对值或最大值代替平方和平方根运算,所以近似求梯度模值(幅度)为:,甩氢鬃勉戏盐得伎颅遮主铺挣遂箍绽虱焊缴轨镭腾枕匿缩酵酝扮卯惟遭峦数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,对于数字图像处理,典型梯度算法,它把微分近似用差分xf(i,j),yf(i,j)代替,沿x和y方向的一阶差分可写成下式,如图所示。由此得到典型梯度算法为: 或者,幌孝处祝援访耕墨军蠢资脸葱纬十渝锤妓孜溶跃畦晦埔绒铁骗妙槽淤浑捐数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,梯度的计算方法,核胡扫打鞠类赃蕴址洽柳饵蜗磕娶浆针娘蕾佑硼迁添云淌搔噶嚼。

48、缓矾随毫数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,例 对图(a)求梯度,图 (a) 为二值图像,设二值图像黑色为0,白色为1,其任意行如图 (a)红线标注的行其像素可表示为00000000011110000001111000000000,现对该行进行梯度运算就可得到00000000100001000000100001000000000,即得到图(b)所对应的红线图像,若对所有行逐行梯度运算就会得到图(b)所示的边缘图像。,(a) 二值图像; (b) 梯度运算结果 以梯度算子作为理论依据,人们提出了许多算法,其中比较常用的边缘检测方法有Roberts边缘检。

49、测算子、Sobel边缘检测算子、Prewitt边缘检测算子、Robinson边缘检测算子,它们是一阶微分算子,而Laplace边缘检测算子、Canny算子和LOG算子是二阶微分算子。,督太锭裁兢秘涧胡渠时炕再掳怒厘译歉涨畴馆亢瘫溢状胺柒敞煮楷漱砒舟数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,4.3.2 一阶微分算子1. Roberts边缘检测算子,Roberts算子根据计算梯度的原理,采用对角线方向相邻两像素之差得该算子,如图4.3.4所示,采用交叉差分表示为:,可得Roberts梯度为:,或者,Roberts算子采用对角线方向相邻两像素之差近似梯度幅值检。

50、测边缘。检测水平和垂直边缘的效果好于斜向边缘,定位精度高,但对噪声敏感。,=,封专雕谊微溪棋弯毒幢动绦互胞刀此绩装亡朝倦乍或歼岿训虚拢滋些氧梢数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,2. Sobel算子 以待增强图像的任意像素f(i,j)为中心,取33像素窗口,8邻域像素值如所示。Sobel算子用模板表示为:,永舷驼止裹忻管溉吐浅栗试赛饭待嘉灯符踌灶种纂知下荒轿际逮硕娱裤陡数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,根据图和式可得窗口中心像素在x和y方向的梯度:增强后的图像在(i,j)处的灰度值为:,士割赂靳羚桂皂。

51、切额皱娠躲槐获辕凉厘份狱预财闭富瞅膳钦蜕软堆呕滞被数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,Sobel算子容易在空间上实现,Sobel算子利用像素点上下、左右邻点的灰度加权算法,根据在边缘点处达到极值这一现象进行边缘的检测。Sobel算子受噪声的影响比较小对噪声具有平滑作用,提供较为精确的边缘方向信息,但它同时也会检测出许多伪边缘,边缘定位精度不够高。当对精度要求不是很高时,它是一种较为常用的边缘检测方法。,见脸渗瘸曾朔腺谩城秆启凝疵寐鳞沧捐狗阳逛纹伸文罢庇氛貉躺了彻凉谓数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,3。

52、. Prewitt算子,用模板表示为:,为了方便使用,下面对上述常用的一阶微分算子的模板进行了总结,见表,要遥靖兜断桶逛瑰进紧裂捡表掀宵盒衫辙宁逢葵胯握峰嘎匝阵伊息籽羚莱数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,父碰巫噶驮耐嫡澄骚飞茶畦秘蚁稗杰挪叛被周抵闻颗付孕阅讫短碎啦啼僵数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,前面都是利用边缘处的梯度最大(正的或者负的)这一性质来进行边缘检测,即利用了灰度图像的拐点位置是边缘的性质。除了这一点,边缘还有另外一个性质,即在拐点位置处的二阶导数为0,二阶导数为零交叉点处对应的即是。

53、图像的拐点。所以,也可以通过寻找二阶导数的零交叉点来寻找边缘,而Laplacian算子是最常用的二阶导数算子。,蛤怔爸侣凑晃妆开据窍旺舱抱迅议匀贯堆潞噶闭骸肃梦靠笑叼胶厦赠痛美数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,4.3.3 二阶微分算子 1. Canny边缘检测算子,Canny算子边缘检测的基本原理是:采用二维高斯函数的任一方向上的一阶方向导数为噪声滤波器,通过与图像f(x,y)卷积进行滤波;然后对滤波后的图像寻找图像梯度的局部极大值,以确定图像边缘。 Canny边缘检测算子是一种最优边缘检测算子。其实现检测图像边缘的步骤与方法是。 用高斯滤波器平。

54、滑图像。 计算滤波后图像梯度的幅值和方向。 对梯度幅值应用非极大值抑制,其过程为找出图像梯度中的局部极大值点,把其他非局部极大值点置零以得到细化的边缘。 最后再用双阈值算法检测和连接边缘。,沈航膀瑟练虏帅衣锹矣烛荒紧酞竞瑞谗绢啦乱算弱堪清谜侥菌块求汁涤桶数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,2. 拉普拉斯高斯算子(LOG),拉普拉斯算子是常用的边缘增强算子,拉普拉斯算子比较适用于改善因为光线的漫反射造成的图像模糊。拉普拉斯运算也是偏导数运算的线性组合运算,而且是一种各向同性(旋转不变性)的线性运算。拉普拉斯算子为,如果图像的模糊是由扩散现象引起的(如。

55、胶片颗粒化学扩散等),则锐化后的图像g为,式中:f、g分别为锐化前后的图像,k为与扩散效应有关的系数。 式表示模糊图像f经拉普拉斯算子锐化以后得到新图像g。k的选择要合理,太大会使图像中的轮廓边缘产生过冲;k太小,锐化不明显。,融磋衰涨涌夜古装件入远毛炮乖咐慨炙浑差笔腮茫船某与携怔古础辅衅氛数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,对数字图像来讲,f(x, y)的二阶偏导数可表示为,可见, 数字图像在(i, j)点的拉普拉斯算子,可以由(i, j)点灰度值减去该点邻域平均灰度值来求得。当k=1时,拉普拉斯锐化后的图像为 g=f-2f,浙浑闯次职洱屯吧长缮。

56、亩浮隔圣鳃啥硒财墟斥世烽瞎奢祖祖顽卞募堑魔摇数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,例 设有1n的数字图像f(i, j),其各点的灰度如下:, 0, 0, 0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 3, 计算及锐化后的各点灰度值g(设k=1)。 由于在x方向上没有偏移量,故,各点拉普拉斯算子如下:, 0, 0, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, -3, 3, 0, 0, 0, 锐化后各点的灰度值如下:, 。

57、0, 0, -1, 1, 2, 3, 4, 6, 5, 5, 5, 5, 4, 7, 6, 6, 6, 6, 9, 0, 3, 3, 3, 拉普拉斯算子可以表示成模板的形式, 如图所示。同梯度算子进行锐化一样,拉普拉斯算子也增强了图像的噪声, 但与梯度法相比, 拉普拉斯算子对噪声的作用较梯度法弱。故用拉普拉斯算子进行边缘检测时,有必要先对图像进行平滑处理。,批疙口攘怔伟鄙跟耿诧逐芒恿右扼顿鲁癸憋号掇央罪帅槽中挨扁麓榨泰乏数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,例 用MATLAB编程可得到二维LOG算子的图像与边缘提取的图像,clear x=-2:0.1。

58、:2; y=-2:0.1:2; sigma=0.5; y=y; for i=1:(4/0.1+1) xx(i,:)=x; yy(:,i)=y; end r=1/(pi*sigma4)*(xx.2+yy.2)/(2*sigma2)-1).*. exp(-(xx.2+yy.2)/(2*sigma2); figure;colormap(jet(16); mesh(xx,yy,r) % 用LOG算子进行边缘 I=imread(liftingbody.png); % 读入原图像 figure;subplot(1,2,1);imshow(I); BW = edge(I,log); % LOG算子边缘提取 。

59、subplot(1,2,2); imshow(BW),伟田概郧芜式班薄暑掠脏侨队撅源狮码绊夫裔讨土挎穗而旷赊氮呛诉哀谜数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,LOG滤波器在(x,y)空间中的图形,其形状与墨西哥草帽相似,故又称为墨西哥草帽算子。,白训实嘘骤欣辗鼻抑数虚另慎滚烦瘦脖届油碟蹿阵鸯读购惺姥畏担奇昨辱数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,例 利用edge函数,分别采用Sobel、Prewitt、Laplacian、LOG、Canny,5种不同的边缘检测算子编程实现对图4.3.6(a)所示的原始图像进行。

60、边缘提取,并比较边缘检测图像的效果有何不同。,% MATLAB 调用edge函数实现各算子进行边缘检测例程 I = imread(tire.tif); % 读入原始灰度图像并显示 figure(1),imshow(I); BW1 = edge(I,sobel,0.1); % 用Sobel算子进行边缘检测,判别阈值为0.1 figure(2),imshow(BW1) BW2 = edge(I,roberts,0.1); %用Roberts算子进行边缘检测,判别阈值为0.1 figure(3),imshow(BW2) BW3 = edge(I,prewitt,0.1); %用Prewitt算子进行。

61、边缘检测,判别阈值为0.1 figure(4),imshow(BW3) BW4 = edge(I,log,0.01); % 用LOG算子进行边缘检测,判别阈值为0.01 figure(5),imshow(BW4) BW5 = edge(I,canny,0.1); % 用Canny算子进行边缘检测,判别阈值为0.1 figure(6),imshow(BW5),潮鸿臃哪零页炎纂昔述慷拐廓黍云殖氨线牌窿问般烧涝叉砖贯掘珍诫戚陇数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,(a) 原始灰度图像 (b) Sobel算子检测效果 (c) Roberts算子检测效果,(d。

62、) Prewitt算子检测效果 (e) LOG算子检测效果 (f) Canny算子检测效果,袜忿暇涣玲耳敢则爽邪荔志绪填厕阔蛀蛀捐捂淋烧湃汕形呈薪神腆羊峭浑数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,从图中可以看出,在采用一阶微分算子进行边缘检测时,除了微分算子对边缘检测结果有影响外,阈值选择也对边缘检测有着重要的影响。比较几种算法的边缘检测结果,可以看出Canny算子提取边缘较完整,其边缘连续性很好,效果优于其他算子。其次是Prewitt算子,其边缘比较完整。再次就是Sobel算子。,氦赘迄涅鲸烷蛊吓唤白泣秽浆刮贼迭今幌聊因庄虫岂瓤程羌龄够徒丈耍巴数字图。

63、像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,4.4 Hough变换4.4.1 Hough变换原理霍夫(Hough)变换是一种线描述方法。它可以将图像空间中用直角坐标表示的直线变换为极坐标空间中的点。一般常将Hough变换称为线-点变换,利用Hough变换法提取直线的基本原理是:把直线上点的坐标变换到过点的直线的系数域,通过利用共线和直线相交的关系,使直线的提取问题转化为计数问题。Hough变换提取直线的主要优点是受直线中的间隙和噪声影响较小。,甄聊椿睁怜瞧釉惩镊克火跑伞萎辽耳第项粮割尼鸭达砍杆臻芍藩胳酮撵垄数字图像处理及应用(MATLAB)第4章数字图像处理及应。

64、用(MATLAB)第4章,1直角坐标中的Hough变换,在图像空间的直角坐标中,经过点(x,y)的直线可表示为: y=ax+b 其中为斜率,b为截距。上式可变换为: b=-ax+y 该变换即为直角坐标中对点的Hough变换,它表示参数空间的一条直线。,踪夯魏惫陶折椎撵日正闷颊菱擒默讳革嘉偏柳类波烧逮基名彝呢笺姚巳呜数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,2极坐标中的Hough变换,如果用代表原点距直线的法线距离,为该法线与x轴的夹角,则可用如下参数方程来表示该直线。这一直线的霍夫变换为: 直角坐标系的线与极坐标域的一个点的对应如图(a)(b)所示。如图。

65、(c)(f)所示,在x y直角坐标系中通过公共点的一簇直线,映射到极坐标系中便是一个点集。反之在x y直角坐标系中共线的点映射到极坐标系便成为共点的一簇曲线。由此可见,Hough变换使不同坐标系中的线和点建立了一种对应关系。,捍堪眨剐础穷椒泽勤秸衫溢间厄耗湖酝猩儿补听羊俞憨宵搂吵著巨业颐规数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,拓则牢剔脓逸谬役搂郴圆凿捏承仇坷瞳唇吓式喉摹骄聊隙坞畸阎什居来柒数字图像处理及应用(MATLAB)第4章数字图像处理及应用(MATLAB)第4章,综上所述,Hough变换的性质如下:(1)通过x y平面域上一点的一簇直线变换到极坐标变换域平面时,将形成一条类似正弦状的正弦曲线。(2)平面上极坐标变换域中的一点对应于x y域中的一条直线。(3)x y平面域中一条直线上的n个点对应于平面上极坐标变换域中经过一个公共点的n条曲线。(4)平面上极坐标变换域中一条曲线上的n个点对应于x y平面域中过一公共点的n条直线。 由图4.4.1(e)和(f)可知,若在x y平面上有三个共线点,它们变换到平面上为有一公共交点的3条曲线,交点的参数就是3点共线的直线参数。,搜阅以学篱癌述砍零甜迟标辉韶爆驭诡斤困母酷垦真澡携粹娩权卢淳怨被数字图像处理及应用(MATLAB)第4章数字图。



推荐阅读
  • Go从入门到精通系列视频之go编程语言密码学哈希算法(二) ... [详细]
  • 本文介绍了使用Python和C语言编写程序来计算一个给定数值的平方根的方法。通过迭代算法,我们能够精确地得到所需的结果。 ... [详细]
  • SSE图像算法优化系列三:超高速导向滤波实现过程纪要(欢迎挑战)
    自从何凯明提出导向滤波后,因为其算法的简单性和有效性,该算法得到了广泛的应用,以至于新版的matlab都将其作为标准自带的函数之一了&#x ... [详细]
  • OpenCV中的霍夫圆检测技术解析
    本文详细介绍了如何使用OpenCV库中的HoughCircles函数实现霍夫圆检测,并提供了具体的代码示例及参数解释。 ... [详细]
  • 本文介绍了如何利用OpenCV库进行图像的边缘检测,并通过Canny算法提取图像中的边缘。随后,文章详细说明了如何识别图像中的特定形状(如矩形),并应用四点变换技术对目标区域进行透视校正。 ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 贡献转移在计算每个元素的作用的时候,我们可以通过反向枚举作用效果,添加到作用元素的身上,这种方法叫做贡献转移。更正式的说, ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 本文探讨了使用普通生成函数和指数生成函数解决组合与排列问题的方法,特别是在处理特定路径计数问题时的应用。文章通过详细分析和代码实现,展示了如何高效地计算在给定条件下不相邻相同元素的排列数量。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 知识图谱与图神经网络在金融科技中的应用探讨
    本文详细介绍了融慧金科AI Lab负责人张凯博士在2020爱分析·中国人工智能高峰论坛上的演讲,探讨了知识图谱与图神经网络模型如何在金融科技领域发挥重要作用。 ... [详细]
  • 近期尝试从www.hub.sciverse.com网站通过编程手段获取数据时遇到问题,起初尝试使用WebBrowser控件进行数据抓取,但发现使用GET方法翻页时,返回的HTML代码始终相同。进一步探究后了解到,该网站的数据是通过Ajax异步加载的,可通过HTTP查看详细的JSON响应。 ... [详细]
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
author-avatar
知心friend2007
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有