图像分割和形态学处理与MATLAB实现Word下载.docx

上传人:b****6 文档编号:15953555 上传时间:2022-11-17 格式:DOCX 页数:19 大小:1.07MB
下载 相关 举报
图像分割和形态学处理与MATLAB实现Word下载.docx_第1页
第1页 / 共19页
图像分割和形态学处理与MATLAB实现Word下载.docx_第2页
第2页 / 共19页
图像分割和形态学处理与MATLAB实现Word下载.docx_第3页
第3页 / 共19页
图像分割和形态学处理与MATLAB实现Word下载.docx_第4页
第4页 / 共19页
图像分割和形态学处理与MATLAB实现Word下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

图像分割和形态学处理与MATLAB实现Word下载.docx

《图像分割和形态学处理与MATLAB实现Word下载.docx》由会员分享,可在线阅读,更多相关《图像分割和形态学处理与MATLAB实现Word下载.docx(19页珍藏版)》请在冰豆网上搜索。

图像分割和形态学处理与MATLAB实现Word下载.docx

w=[-1-1-1;

-18-1;

-1-1-1]

g=abs(imfilter(double(data),w));

t=max(g(:

));

g1=(g>

=t);

[mn]=find(g1)

figure

imshow(data)

holdon

plot(n,m,'

ro'

=t-200);

=t-800);

5.1.2效果

分析:

随着阈值的减小,所检测出的点越来越多

5.2阈值分割方法2——线检测

5.2.1程序

clear

xian.jpg'

subplot(221),imshow(data);

title('

检测指定方向线的原始图像'

w=[2-1-1;

-12-1;

-1-12];

subplot(222),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=imread('

bianyuan.jpg'

f=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-1086-10187012];

g45=imfilter(double(f),w45,'

replicate'

T=0.3*max(abs(g45(:

)));

g45=g45>

=T;

subplot(325),imshow(g45);

sobel正45度方向上检测图'

w_45=[0-1-29510-196210];

g_45=imfilter(double(f),w_45,'

T=0.3*max(abs(g_45(:

g_45=g_45>

subplot(326),imshow(g_45);

sobel负45度方向上检测图'

5.3.2效果

5.3.2边缘检测器的比较

5.3.2.1程序

dalouj.jpg'

imshow(f)

[g_sobel_default,ts]=edge(f,'

imshow(g_sobel_default);

gsobeldefault'

[g_log_default,tlog]=edge(f,'

log'

imshow(g_log_default);

glogdefault'

[g_canny_default,tc]=edge(f,'

canny'

figure,imshow(g_canny_default);

gcannydefault'

g_sobel_best=edge(f,'

0.25);

figure,imshow(g_sobel_best);

gsobelbest'

g_log_best=edge(f,'

0.003,2.25);

figure,imshow(g_log_best);

glogbest'

g_canny_best=edge(f,'

[0.040.10],1.5);

figure,imshow(g_canny_best);

gcannybest'

5.3.2.1效果

5.2编程实现膨胀和腐蚀

5.2.1膨胀

5.2.1.1程序

A1=imread('

beitie.jpg'

A1=im2bw(A1);

B=[1111

1111

1111

1111];

A2=imdilate(A1,B);

%图像A1被结构元素B膨胀

A3=imdilate(A2,B);

A4=imdilate(A3,B);

figure,imshow(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.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,imshow(fco);

先闭后开运算'

5.3.2.2效果

5.4编程实现提取骨架和细化

5.4.1提取骨架

5.4.1.1程序

guge.jpg'

figure,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);

骨架提取无穷大次'

fork=1:

5

g3=g3&

~endpoints(g3);

end

骨架提取并消除毛刺'

5.4.1.2效果

5.4.2细化

5.4.2.1程序

zhiwen.jpg'

f=~f;

指纹细化原图'

thin'

指纹细化1次'

指纹细化5次'

指纹细化无穷大次'

5.4.2.2效果

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1