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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

( f. e* R) d0 |/ R! V0 j一、简介9 W0 @3 _; O* X8 H8 x
1.使用距离变换的分水岭分割9 @6 Z: H" @: v  W, b

, O% m7 z3 c; i( G, S(1)距离变换
. Q; n8 J/ A# Z* K! A. E* k/ m. g0 p& [/ |& ?/ I. g7 L& D7 {
D = bwdist(BW);
' [3 I* ^- Y; _6 T* P( o8 ]! K! _; |, b  m  }
二值图像的距离变换是指从每个像素到最接近零值的像素的距离。
2 L: g+ \% `! W% @9 R/ e& J, q- s) e
(2)测地距离变换
0 b& v/ u5 `/ n0 F9 W
+ @* L  ~3 @. N* o8 P. _4 H' GD = bwdistgeodesic(BW,mask);
  R, b9 a% ^) v) K6 I  C" o) b+ s. s; }7 Z
2.使用梯度的分水岭分割
0 [) o- C0 u4 O3 V6 l0 }- {5 M, s
获取梯度图像:. P$ n/ T3 G. t/ w- {: J( R2 ~
* Q* K  ?3 H6 K+ P
h = fspecial(‘sobel’);* v; z9 A- ^# S! l& i8 N. b

& g5 ]0 @* L1 N: J) _  Z2 Z, jfd = tofloat(f);) f) F' k- [; O: V5 U2 v

! J9 \/ J" P. Eg = sqrt(imfilter(fd, h, ‘replicate’) .^ 2 + …
" K  m; c+ L7 J3 ]/ }7 V
4 h% K6 n7 X3 k0 e, f* Z4 Rimfilter(fd, h’, ‘replicate’) .^ 2);% t- n, H: m0 f! o5 j
- m7 @; E+ k1 a& s: B/ c
在使用针对分割的分水岭变换之前,常常使用梯度幅度对图像进行预处理。梯度幅度图像沿着物体的边缘有较高的像素值,而在其他地方则有较低的像素值。在理想的情况下,分水岭变换可得到沿物体边缘的分水岭脊线。若梯度图像直接进行分水岭变换可能会严重过分割,所以在计算分水岭变换之前可以先平滑梯度图像。, T2 t" N* L5 p2 L( D) C$ L: S

& T$ z; A( i# B& |2 ?3.控制标记符的分水岭分割# }) Q5 ~, s+ l- t( k! [, @

7 l- t# A+ V8 G(1)计算局部极小值区域
/ ^! [+ x. ~" H% J' }2 p9 T( z2 \1 [. W; N+ l% U, d) h, i
rm = imregionalmin(f);* N& _, J; z. `0 P" G% R
3 ?5 @8 p! j; x* H6 s2 o
其中,f 是灰度图像,rm 是二值图像,rm 的前景像素标记出局部小区域的位置。
6 j# k" k. L' D' Z9 M7 P2 v( x2 Q) C: S+ P" u2 \$ {& V. V+ b# m+ h
(2)扩展极小值
" c8 H8 P' O( o6 p* }! |( ^0 j% s; r
im = imextendedmin(f,h);
) k$ a' \7 Y  h+ I# A3 k9 V- Z; y# S' n
其中,f 是灰度图像,h 是高度阈值,im 是一幅二值图像,im 的前景像素标记了深的局部小区域的位置。
- e7 X: ~# e% c- D
+ b8 G. X5 @6 P& z& d% D(3)强制最小' f3 l+ w( }0 B, y7 G# D) ?

  e& Y, a+ y  W. fmp = imimposemin(f, mask);
; _3 B8 i$ }2 O# }/ \+ L5 W7 B; z; l6 o$ ]/ y7 h
其中,f 是灰度图像,mask 是二值图像,mask 的前景像素标记了输出图像 mp 中局部最小区域的期望位置。通过在内部和外部标记符的位置覆盖局部最小区域,可以改进梯度图像,用于控制过分割的一种方法是基于标记符的概念。标记符是属于一幅图像的连通分量。我们希望有一个内部标记符集合,它们处在每个感兴趣物体的内部,而外部标记符集合包含在背景中。标记符的选择范围可以从简单过程到更复杂的方法,涉及尺寸、形状、位置、相对距离、纹理内容等等。指针是携带对分割有影响的先验知识的标记符。人们常常使用先验知识在每天的视觉中帮助解决分割和高级任务。最为熟悉的便是使用文本。因此,分水岭分割提供可以有效利用这些类型的知识的框架这一事实,是这一方法的突出优点。
2 c+ U) Y* t' H) W3 ~. s% Q4 c
# e+ _; i1 e% e! Q& y; s- o; |# m/ P7 Z' x1 W& Y+ _  a5 r
二、源代码2 R1 C2 [# u- Q- G: d
5 o+ O  L. k# q( [* ?
  • %基于控制标记符的分水岭分割
  • [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('基于控制标记符的分水岭分割');
    . Z3 X- k; M: R- }3 E

5 J) J- g% M* j* t/ m0 m
( |5 a8 I7 J/ _7 @" ?& U" A1 c) T$ U3 B; O4 ~
三、运行结果
+ T; u. H" x( S8 E; v- F2 K5 Q( }

8 d, x4 R! K$ A! h0 |

该用户从未签到

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

该用户从未签到

3#
发表于 2021-4-25 16:30 | 只看该作者
看一下      
8 C) b5 r; p/ a6 I2 r& u4 \# `
  • 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-8-3 13:42 , Processed in 0.125000 second(s), 26 queries , Gzip On.

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

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

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