MATLAB图像分割和形态学处理

该博客详细介绍了使用MATLAB进行图像分割和形态学处理的实验,包括阈值分割(点检测、线检测、边缘检测)、膨胀、腐蚀、开运算、闭运算以及骨架提取和细化等方法的编程实现,并展示了不同参数设置下的处理效果。
摘要由CSDN通过智能技术生成

MATLAB图像分割和形态学处理

一、实验目的

  1. 掌握图像分割的基本方法。
  2. 掌握形态学处理的基本方法。
  3. 学会使用MATLAB编程实现上述方法。

二、实验任务

(1)编程实现基于阈值的图像分割方法和边缘检测方法。

(2)编程实现膨胀、腐蚀方法。

(3)编程实现开运算和闭运算的方法。

(4)编程实现提取骨架和细化的方法。

三、实验配套的主要仪器设备及台(套)数

教师示范用投影仪一台

微型计算机每个学生一台

四、报告要求

记录每一步的实验过程。

五、实验记录

5.1阈值图像分割方法1——点检测

5.1.1程序

clc

clear

data = imread('lianzipoint.jpg');

w = [-1 -1 -1; -1 8 -1; -1 -1 -1]

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

t =max(g(:));

g1=(g>=t);

[m n]=find(g1)

figure

imshow(data)

hold on

plot(n,m,'ro')

g1=(g>=t-200);

[m n]=find(g1)

figure

imshow(data)

hold on

plot(n,m,'ro')

g1=(g>=t-800);

[m n]=find(g1)

figure

imshow(data)

hold on

plot(n,m,'ro')

5.1.2 效果


3a7c0e73f3d537cd50b51f5223096b92.png

18e47821fdf7042c4ee91016a5a62b87.png

d9c8205c54700ffa25b54a83606b801f.png


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

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

5.2.1程序

clc

clear

data = imread('xian.jpg');

subplot(221),imshow(data);

title('检测指定方向线的原始图像');

w = [2 -1 -1; -1 2 -1; -1 -1 2];

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

subplot(222),imshow(g,[])

title('使用-45度检测器处理后的图像');

gtop = g(1:40,1:40);

gtop = pixeldup(gtop,4);%piceldup函数是将图片放大相应倍数

subplot(223),imshow(gtop,[])

title('-45度检测后左上角放大图');

gbot = g(end-40:end,end-40:end);

gbot = pixeldup(gbot,4);

subplot(224),imshow(gbot,[])

title('-45度检测后右下角后放大图');








5.2.2 处理效果


4bb7f42e1b798437d7951935a32ce1ac.png


分析:-45度方向上的直线,经过处理后效果明显,其他方向上的线比较模糊。

5.3 阈值分割方法3——边缘检测

5.3.1程序

clc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值