1、w = -1 -1 -1; -1 8 -1; -1 -1 -1g =abs(imfilter(double(data),w);t =max(g(:);g1=(g=t);m n=find(g1)figureimshow(data)hold onplot(n,m,ro) =t-200);=t-800);)5.1.2 效果分析:随着阈值的减小,所检测出的点越来越多5.2 阈值分割方法2线检测5.2.1程序clearxian.jpgsubplot(221),imshow(data);title(检测指定方向线的原始图像w = 2 -1 -1; -1 2 -1; -1 -1 2;subplot(222)
2、,imshow(g,)使用-45度检测器处理后的图像gtop = g(1:40,1:40);gtop = pixeldup(gtop,4);%piceldup函数是将图片放大相应倍数subplot(223),imshow(gtop,)-45度检测后左上角放大图gbot = g(end-40:end,end-40:end);gbot = pixeldup(gbot,4);subplot(224),imshow(gbot,)-45度检测后右下角后放大图5.2.2 处理效果-45度方向上的直线,经过处理后效果明显,其他方向上的线比较模糊。5.3 阈值分割方法3边缘检测5.3.1程序clc f=imr
3、ead(bianyuan.jpgf= rgb2gray(f);subplot(321),imshow(f);sobel检测的原始图像gv,t=edge(f,sobel,vertical%斜线因为具有垂直分量,所以也能够被检测出来 subplot(322),imshow(gv);sobel垂直方向检测后图像gv=edge(f,0.15,subplot(323),imshow(gv);sobel垂直检测0.15阈值后图像gboth=edge(f,0.15);subplot(324),imshow(gboth);sobel水平垂直方向阈值0.15后图像w45=-2 -1 0 86 -1 0 1 87
4、 0 1 2;g45=imfilter(double(f),w45,replicateT=0.3*max(abs(g45(:);g45=g45=T;subplot(325),imshow(g45);sobel正45度方向上检测图w_45=0 -1 -2 95 1 0 -1 96 2 1 0;g_45=imfilter(double(f),w_45,T=0.3*max(abs(g_45(:g_45=g_45subplot(326),imshow(g_45);sobel负45度方向上检测图5.3.2 效果5.3.2 边缘检测器的比较5.3.2.1 程序dalouj.jpgimshow(f)g_so
5、bel_default , ts = edge(f,imshow(g_sobel_default);g sobel defaultg_log_default,tlog=edge(f,logimshow(g_log_default);g log defaultg_canny_default,tc=edge(f,cannyfigure,imshow(g_canny_default);g canny defaultg_sobel_best=edge(f,0.25);figure,imshow(g_sobel_best);g sobel bestg_log_best=edge(f,0.003,2.25
6、);figure,imshow(g_log_best);g log bestg_canny_best=edge(f,0.04 0.10,1.5);figure,imshow(g_canny_best);g canny best5.3.2.1 效果5.2 编程实现膨胀和腐蚀5.2.1 膨胀5.2.1.1程序A1=imread(beitie.jpgA1 =im2bw(A1);B=1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1;A2=imdilate(A1,B);%图像A1被结构元素B膨胀 A3=imdilate(A2,B);A4=imdilate(A3,B);figure,imsh
7、ow(A1);imdilate膨胀原始图像figure,imshow(A2);使用B后1次膨胀后的图像figure,imshow(A3);使用B后2次膨胀后的图像figure,imshow(A4);使用B后3次膨胀后的图像 5.2.1.2 效果5.2.2 腐蚀5.2.2.1 程序原始图像se1=strel(disk,2);A2=imerode(A1,se1);用disk(2)腐蚀后的图像se2=strel(,4);A3=imerode(A1,se2);用disk(4)腐蚀后的图像se3=strel(,6);A4=imerode(A1,se3);用disk(6)腐蚀后的图像5.2.2.2 效果5
8、.3编程实现开运算和闭运算5.3.1开运算5.3.1.1程序f =im2bw(f);%se=strel(square,5%方型结构元素 se=strel(%圆盘型结构元素 imshow(f);%原图像 运算原始图像fo=imopen(f,se);imshow(fo);直接开运算5.3.1.2 效果5.3.2 闭运算 title(fc=imclose(f,se);%直接闭运算 figure,imshow(fc);直接闭运算foc=imclose(fc,se);%先开后闭运算 figure,imshow(foc);先开后闭运算fco=imopen(fc,se);%先闭后开运算 figure,ims
9、how(fco);先闭后开运算5.3.2.2 效果5.4 编程实现提取骨架和细化5.4.1 提取骨架5.4.1.1 程序guge.jpgfigure,imshow(f);骨架提取原图g1=bwmorph(f,skel,1);figure,imshow(g1);骨架提取1次g2=bwmorph(f,5);figure,imshow(g2);骨架提取5次g3=bwmorph(f,20);figure,imshow(g3);骨架提取20次g4=bwmorph(f,Inf);figure,imshow(g4);骨架提取无穷大次 for k=1:5 g3=g3&endpoints(g3); end骨架提取并消除毛刺5.4.1.2效果5.4.2 细化5.4.2.1 程序zhiwen.jpgf=f;指纹细化原图thin指纹细化1次指纹细化5次指纹细化无穷大次5.4.2.2 效果
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1