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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

$ w7 c8 Z' N/ s% \9 z一、简介
" d) ^: g6 v' v8 V1 z) B1.使用距离变换的分水岭分割
" z- R; g( r1 Z1 D0 _% I/ I' d  q6 {8 g
(1)距离变换
$ h' V4 E" s9 N* i+ u9 d; O
7 ]* W( r) L- @1 B; MD = bwdist(BW);
$ G& R: L( R: B* c8 f
# y2 \4 `" l' ?9 C! o$ [二值图像的距离变换是指从每个像素到最接近零值的像素的距离。; }( ?" f4 Y3 b1 [  w

& o+ W, L6 U, y- y7 p, H. H(2)测地距离变换( H0 N2 Q4 |5 [+ O8 N+ i% X
3 }4 `; p; U  O8 |! e+ d: |
D = bwdistgeodesic(BW,mask);
2 y0 U- ]9 \( k4 u8 s$ D" i' O  d6 o" T+ H% O
2.使用梯度的分水岭分割* |/ B( M+ v3 r% [

( n5 U  l1 J$ f* B+ k获取梯度图像:/ a; i) b' a0 M! x8 J

& {5 q( m: V$ Q, R2 {5 W; @h = fspecial(‘sobel’);
0 K2 o' t+ [3 B% u# a9 }
) @( y4 R/ v* o2 W3 `5 b$ sfd = tofloat(f);' _" o% c4 z1 R" b0 A. |& W
* W; |- k5 v$ A3 G# l! p  Z0 u4 R) x
g = sqrt(imfilter(fd, h, ‘replicate’) .^ 2 + …
2 S, r$ @% S: E# {0 [& E2 _4 y& a' d! l0 r' I
imfilter(fd, h’, ‘replicate’) .^ 2);* I1 a6 J% K. ~8 ]% e. }
* H7 l8 y% S8 R% A
在使用针对分割的分水岭变换之前,常常使用梯度幅度对图像进行预处理。梯度幅度图像沿着物体的边缘有较高的像素值,而在其他地方则有较低的像素值。在理想的情况下,分水岭变换可得到沿物体边缘的分水岭脊线。若梯度图像直接进行分水岭变换可能会严重过分割,所以在计算分水岭变换之前可以先平滑梯度图像。
3 C( i. q6 |6 J) p
! j; {- A: d8 W3 x3.控制标记符的分水岭分割$ h) i" o  _7 m; O0 o% g/ A, U, g

/ k% t5 ~) q8 q(1)计算局部极小值区域
8 r  {. j0 V4 [( X8 S' \& ^
7 ]8 N. w: \1 @3 [: _2 o3 prm = imregionalmin(f);
. d1 i/ C, e% O0 e# X- e
$ |( A* S5 I3 C1 Z0 L. ?  x) E其中,f 是灰度图像,rm 是二值图像,rm 的前景像素标记出局部小区域的位置。
$ N0 K2 o2 E5 u) Q$ p  ~# j/ o/ e
(2)扩展极小值* o' {3 }* U5 S: I
  s2 _* ]7 U, h2 p
im = imextendedmin(f,h);
$ I, o+ j; x8 L% c0 l
( j0 h/ E% \7 Q; D, Y: j+ S其中,f 是灰度图像,h 是高度阈值,im 是一幅二值图像,im 的前景像素标记了深的局部小区域的位置。7 L4 s6 C8 _# J# r
  Z2 W/ b) c, }1 J  D
(3)强制最小9 h3 r, h/ e8 G6 i* `+ b

9 w5 i4 m* B( f4 J& m# Cmp = imimposemin(f, mask);( _. M( ]# s) E) @5 D' T0 r
& {! k0 d8 W: S' h6 ]  t; @
其中,f 是灰度图像,mask 是二值图像,mask 的前景像素标记了输出图像 mp 中局部最小区域的期望位置。通过在内部和外部标记符的位置覆盖局部最小区域,可以改进梯度图像,用于控制过分割的一种方法是基于标记符的概念。标记符是属于一幅图像的连通分量。我们希望有一个内部标记符集合,它们处在每个感兴趣物体的内部,而外部标记符集合包含在背景中。标记符的选择范围可以从简单过程到更复杂的方法,涉及尺寸、形状、位置、相对距离、纹理内容等等。指针是携带对分割有影响的先验知识的标记符。人们常常使用先验知识在每天的视觉中帮助解决分割和高级任务。最为熟悉的便是使用文本。因此,分水岭分割提供可以有效利用这些类型的知识的框架这一事实,是这一方法的突出优点。) y) s8 N/ z% m
1 E4 j# f! e, ?

" g' j/ S8 D' ~二、源代码* W! D0 p& W2 `6 b8 l( m% \! n

' N, V9 t0 m/ u+ C5 ?) L
  • %基于控制标记符的分水岭分割
  • [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('基于控制标记符的分水岭分割');
    / F% ]6 l3 t* K# t! A! \8 B
6 y9 I: j% d8 c& y, B
' n3 S. f, n% D0 B
1 x- e5 M8 ?/ l4 M
三、运行结果4 K3 p3 J3 a1 O
& R# B% _7 C+ q3 k4 g/ P4 f$ _
; |4 S- @$ r6 C$ k- F! |3 U

该用户从未签到

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

该用户从未签到

3#
发表于 2021-4-25 16:30 | 只看该作者
看一下      ! M8 R9 Z8 J" Q/ y; ]- f3 g
  • 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-11-24 00:05 , Processed in 0.187500 second(s), 26 queries , Gzip On.

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

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

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