找回密码
 注册
关于网站域名变更的通知
查看: 618|回复: 3
打印 上一主题 下一主题

基于matlab图像处理教程系列之图像分割(二)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-4-25 11:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

% j% t9 _- g" [: o一、简介" f/ G% \1 \& X& Y, p9 s1 H
1.使用距离变换的分水岭分割& ~$ d3 U' f4 R* o" _

: N/ j7 d; U7 }3 d(1)距离变换% i( [! e  l$ y8 b' D& u* I: {

7 e0 _8 ^5 l# }9 V2 r9 k$ F% LD = bwdist(BW);
8 C. s3 K' m  t5 i
: l) ]3 G% D& V5 _$ h$ L二值图像的距离变换是指从每个像素到最接近零值的像素的距离。) ?- H% C4 R: f% _8 ]0 _
7 ?" m$ z  g/ @6 O; W6 \  Z
(2)测地距离变换
" l* j9 c8 p. Z2 r! F* Y
" x* D& N$ [! }: y: SD = bwdistgeodesic(BW,mask);
: {0 a+ `4 k  T, R0 E6 x) e7 ?; M! z, {3 z
2.使用梯度的分水岭分割) P; N3 d$ l4 Q& P
. D. \% e0 U9 E0 c9 A
获取梯度图像:
$ l' w0 j* l# _& R: F! K1 [* i/ q4 m+ m9 N2 k" j" V
h = fspecial(‘sobel’);* d! h' W& h- m2 c4 ]0 D! J) y$ p5 q

% ^) f1 t% \/ Hfd = tofloat(f);) A1 Q: A0 F' [) d

: M1 s3 F3 o7 Z9 Wg = sqrt(imfilter(fd, h, ‘replicate’) .^ 2 + …8 Q3 H1 B" P0 |" o

4 }, e; P3 [% S6 _3 C; uimfilter(fd, h’, ‘replicate’) .^ 2);
, b8 H" a- L" H, T
9 ?6 ^! T2 H6 T- R在使用针对分割的分水岭变换之前,常常使用梯度幅度对图像进行预处理。梯度幅度图像沿着物体的边缘有较高的像素值,而在其他地方则有较低的像素值。在理想的情况下,分水岭变换可得到沿物体边缘的分水岭脊线。若梯度图像直接进行分水岭变换可能会严重过分割,所以在计算分水岭变换之前可以先平滑梯度图像。* C6 n0 l2 g$ P3 T$ J2 R. G7 j
( j# G! e: H3 l# e6 Z8 Q% @9 B
3.控制标记符的分水岭分割
" P( e4 ~- \$ {1 s1 P  y* A1 t; n# i! r6 c2 E9 l! ^
(1)计算局部极小值区域, T* j2 P: Z0 q! g7 d
2 w% S8 s6 Y& y1 m
rm = imregionalmin(f);
; `8 l- Z( Q9 |7 B! }: _1 z+ U- k. P* E
其中,f 是灰度图像,rm 是二值图像,rm 的前景像素标记出局部小区域的位置。  E4 g  J6 R& O" {& [- \$ M

. H; M& J1 g4 D% G6 N& F$ w+ j(2)扩展极小值
& `3 U! y1 I7 p3 D: a7 q
7 B' m* z$ f! }; ?; ~5 J* G4 Sim = imextendedmin(f,h);
% ]1 }4 A! g: ]7 M) I
+ B  d1 [% z9 \4 ?( S9 P其中,f 是灰度图像,h 是高度阈值,im 是一幅二值图像,im 的前景像素标记了深的局部小区域的位置。
% k: J! T. L' ?+ S+ F' {+ F6 V! Z' ^
, n0 _$ i" j7 w: c! P- N: i(3)强制最小
3 A7 g% Z" ]* X: |* r: ?# r5 B( F0 f) R# X3 F5 @0 F* ~2 ?" _9 {8 S
mp = imimposemin(f, mask);
  z8 C0 {' [- S5 ], \+ U  q! C
  P( B/ H: R! V+ `7 ~/ l% p$ D其中,f 是灰度图像,mask 是二值图像,mask 的前景像素标记了输出图像 mp 中局部最小区域的期望位置。通过在内部和外部标记符的位置覆盖局部最小区域,可以改进梯度图像,用于控制过分割的一种方法是基于标记符的概念。标记符是属于一幅图像的连通分量。我们希望有一个内部标记符集合,它们处在每个感兴趣物体的内部,而外部标记符集合包含在背景中。标记符的选择范围可以从简单过程到更复杂的方法,涉及尺寸、形状、位置、相对距离、纹理内容等等。指针是携带对分割有影响的先验知识的标记符。人们常常使用先验知识在每天的视觉中帮助解决分割和高级任务。最为熟悉的便是使用文本。因此,分水岭分割提供可以有效利用这些类型的知识的框架这一事实,是这一方法的突出优点。
5 A! e+ m. }7 V% @- V6 m% \& K# Y/ J. G8 ]
$ g: j* q! z7 i; k
二、源代码9 G- r. }8 U7 D
9 N2 @4 E7 u7 {. ]
  • %基于控制标记符的分水岭分割
  • [file,filepath]=uigetfile('*');
  • file=fullfile(filepath,file);
  • img=imread(file);%读图
  • imgsize=size(img);
  • if(numel(imgsize)>2)
  • i=rgb2gray(img);
  • else
  • i=img;
  • end;
  • imshow(i);title('灰度图');
  • pause;
  • %取阈值
  • [T,SM]=graythresh(i);
  • bw=im2bw(i,T);
  • imshow(bw);title('二值');
  • pause;
  • % % %%%%%%%%%%%%%%%%%%%%%%%%%%基于距离变换的分水岭分割%%%%%%%%%%%%%%%%%%%%%%
  • gc = ~bw;
  • % imshow(gc);
  • % pause;
  • D = bwdist(gc);
  • % figure,contour(-D,40);
  • imshow(-D,[]);title('距离变换图');
  • pause;
  • rm = imregionalmin(-D);%查看局部极小值区域
  • imshow(rm);title('查看局部极小值区域');
  • pause;
  • im = imextendedmin(-D,2);%扩展最小值
  • % figure,contour(im,40);
  • fim=i;
  • fim(im) = -255;
  • imshow(fim);title('合并后的局部极小值');%查看合并后的局部极小值
  • pause;
  • Lim = watershed(bwdist(im));
  • imshow(Lim,[]);title('基于距离变换的流域分割');
  • pause;
  • em = Lim == 0;
  • res=em|im;
  • imshow(res);%查看掩膜图像
  • title('掩膜图像');
  • pause;
  • g2 = imimposemin(i, im | em);
  • imshow(g2);
  • title('强制最小');
  • pause;
  • L2 = watershed(g2);
  • f2 = img;
  • f2(L2 == 0) = 255;
  • imshow(f2);
  • title('基于控制标记符的分水岭分割');. C4 P+ e3 f% k7 d" x3 S$ v

, k! F3 W1 C$ n  W$ d+ G3 c8 ^  m3 n! J

  Z: ~0 E7 D* b' ?! C0 a三、运行结果1 @* p4 \1 a9 r' D7 J) a+ i" |  G* {# x

6 U1 E" }2 N% V. O" D% e% t. D
% r. {7 w" s/ f. N0 b9 |- R

该用户从未签到

2#
发表于 2021-4-25 13:23 | 只看该作者
基于matlab图像处理教程系列之图像分割(二)

该用户从未签到

3#
发表于 2021-4-25 16:30 | 只看该作者
看一下      
. r$ w+ ~6 Y! ~8 T: Z/ u$ V
  • TA的每日心情
    奋斗
    2025-1-1 15:26
  • 签到天数: 584 天

    [LV.9]以坛为家II

    4#
    发表于 2021-4-26 08:50 | 只看该作者
    今天晴天,很棒棒哦,加油哦
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-10-30 13:59 , Processed in 0.156250 second(s), 27 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表