资源描述:
《图形图像处理(第十三讲)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、图形图像处理信息与计算科学系张宝雷9.1论述图9-1图像分割在整个图像处理过程中的作用9.3边缘检测9.3.1边缘检测算子9.3.2边缘检测算子的MATLAB实现1.基于一阶导数的边缘检测常用的边缘检测算子Roberts算子Sobel算子Prewitt算子LOG算子Canny算子由于图像由离散的像素点组成,这些算子将用差分近似偏导数。边缘检测(1)Roberts交叉算子(2)Sobel算子(3)Prewitt算子算子9.3.2边缘检测算子的MATLAB实现1.edge函数edge函数调用格式如下:[g,t]=edge(I,'method',parameters)BW=edge(I,'rober
2、ts')BW=edge(I,'roberts',thresh)[BW,thresh]=edge(I,'roberts',...)(1)使用Roberts算子的edge函数语法格式:BW=edge(I,'sobel')BW=edge(I,'sobel',thresh)BW=edge(I,'sobel',thresh,direction)[BW,thresh]=edge(I,'sobel',...)(2)使用Sobel算子的edge函数语法格式:BW=edge(I,'prewitt')BW=edge(I,'prewitt',thresh)BW=edge(I,'prewitt',thresh,dir
3、ection)[BW,thresh]=edge(I,'prewitt',...)(3)使用Prewitt算子的edge函数语法格式:BW=edge(I,'log')BW=edge(I,'log',thresh)BW=edge(I,'log',thresh,sigma)[BW,threshold]=edge(I,'log',...)(4)使用LOG算子的edge函数语法格式:BW=edge(I,'canny')BW=edge(I,'canny',thresh)BW=edge(I,'canny',thresh,sigma)[BW,threshold]=edge(I,'canny',...)(5)使
4、用Canny算子的edge函数语法格式:不同算子下的边界比较9.6.2四叉树分解的分割法1.四叉树分解原理四叉树分解结构可以用来实现分裂合并算法,在图像分析和图像压缩中应用广泛。四叉树分解将原始图像逐步细分成小块,操作的目的是将具有一致性的像素分到同个小块中。通常这些小块都是方块,只有少数情况分成长方形。四叉树分解的具体过程:将方形的原始图像分成四个相同大小的方块,判断每个方块是否满足一致性标准;如果满足就不再继续分裂,如果不满足就再细化成四个方块,并对细分得到的方块继续应用一致性经验。这个迭代重复的过程直到所有的方块都满足一致性标准才停止。最后,四叉树分解的结果可能包含多种不同尺寸的方块。用
5、于四叉树分解的函数有:qtdecomp函数、qtgetblk函数、qtsetblk函数。其具体作用如表9-4所示。2.四叉树分解的MATLAB实现表9-4四叉树分解函数函数名称用法qtdecomp对原始图像进行四叉树分解qtgetblk获取四叉树分解中的块值qtsetblk设置四叉树分解中的块值下面分别介绍它们的具体使用方法。(1)qtdecomp函数其语法格式为:S=qtdecomp(I)S=qtdecomp(I,threshold)S=qtdecomp(I,threshold,mindim)S=qtdecomp(I,threshold,[mindimmaxdim]S=qtdecomp(I,
6、fun)目标识别欧氏距离X,yarevectorsd=norm(x-y)d=sqrt(sum(abs(x-repmat(y,p,1)).^2,2)X,yarematrixD=sqrt(sum(abs(repmat(permute(x,[132]),[1q1])-repmat(permute(y,[132]),[p11]).^2,3))目标识别(判别分析)MAT2STRConverta2-DmatrixtoastringinMATLABsyntax.STR=MAT2STR(MAT)convertsthe2-DmatrixMATtoaMATLABstringsothatEVAL(STR)produ
7、cestheoriginalmatrix(towithin15digitsofprecision).Non-scalarmatricesareconvertedtoastringcontainingbrackets[].MAT2STRMAT2STRExamplemat2str(magic(3))producesthestring'[816;357;492]'.a=int8(magic(3))mat