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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

0 [. o" W1 _. F" |* P* X一、简介
/ B% O( j5 i, |5 \6 O1.使用距离变换的分水岭分割
, k0 ?/ G, u! A% i$ g/ o2 S0 {& q, z4 N2 T1 H3 C
(1)距离变换$ N9 z; d1 ^( }# B/ }' z  l* t2 s

5 r( v$ [3 @8 I+ o$ Y% sD = bwdist(BW);
! r+ d3 O% {( w& A* d+ [# \7 F+ b& d; N; }6 ^! h, y
二值图像的距离变换是指从每个像素到最接近零值的像素的距离。
4 ^' {$ E/ |* i* e6 t  T1 z5 N! _/ e8 g. q" I* }
(2)测地距离变换
/ V% k0 e+ h# b
( J" f" d2 y( U" ~D = bwdistgeodesic(BW,mask);
6 n* \7 f' `9 `  [/ w" e& V! c' e% M6 ]  r! O; B; @
2.使用梯度的分水岭分割
7 }* L- p5 c/ M( g7 \
2 l2 W) u7 y9 J3 j获取梯度图像:: @+ H3 U6 N" Y( I: k
2 M8 D" C) ?& w+ T* F9 N; L
h = fspecial(‘sobel’);
7 m' S' h8 K5 m* L% G4 G3 ?" m7 h1 @, Z, l& y+ D% @9 t* k  f( ]
fd = tofloat(f);
. e! C& M) C. Z3 R
! k5 @5 N9 }3 ]2 K  F' j4 og = sqrt(imfilter(fd, h, ‘replicate’) .^ 2 + …. A9 u5 ~2 j& s. r+ O: |. i

" V* H6 m5 S7 |) X$ [imfilter(fd, h’, ‘replicate’) .^ 2);& A# R/ b8 {, g: I% A* ^
6 a! k. N) d9 [' h
在使用针对分割的分水岭变换之前,常常使用梯度幅度对图像进行预处理。梯度幅度图像沿着物体的边缘有较高的像素值,而在其他地方则有较低的像素值。在理想的情况下,分水岭变换可得到沿物体边缘的分水岭脊线。若梯度图像直接进行分水岭变换可能会严重过分割,所以在计算分水岭变换之前可以先平滑梯度图像。
# d! _: {& B# c4 O+ T; s) w9 J: i8 O8 {
3.控制标记符的分水岭分割
1 {! Y) h" Y" h, Q) Q" c6 ]' k
3 C5 J& V5 _3 K( E. l! L(1)计算局部极小值区域
, R5 b  m$ {! S- I7 D0 T* v1 r
: l, z8 A8 w, |0 q  H2 ]rm = imregionalmin(f);
7 _6 k( r( s( z- h% ?8 s
1 R4 @! T3 F: I其中,f 是灰度图像,rm 是二值图像,rm 的前景像素标记出局部小区域的位置。
5 {% s4 f$ P3 L6 l! |/ i6 E  z1 K4 a$ }4 F
(2)扩展极小值
+ A2 l5 f: A7 u$ c( F
, @* I* }+ G% l% m* {3 l4 r. X0 J: Tim = imextendedmin(f,h);5 v* J: `5 \$ A0 a3 N

# H; C- a+ P6 o/ c5 ^其中,f 是灰度图像,h 是高度阈值,im 是一幅二值图像,im 的前景像素标记了深的局部小区域的位置。! ]1 m! d0 w/ d* \. w
" J2 t8 W4 i3 [. ~- O  w8 {' v
(3)强制最小
5 ?$ H$ b' ]5 U6 f
( F. O2 ~- D) |$ c* H5 Kmp = imimposemin(f, mask);
+ s% d8 W  D" c) A+ x; T6 H7 F0 t" w0 u  ]; q
其中,f 是灰度图像,mask 是二值图像,mask 的前景像素标记了输出图像 mp 中局部最小区域的期望位置。通过在内部和外部标记符的位置覆盖局部最小区域,可以改进梯度图像,用于控制过分割的一种方法是基于标记符的概念。标记符是属于一幅图像的连通分量。我们希望有一个内部标记符集合,它们处在每个感兴趣物体的内部,而外部标记符集合包含在背景中。标记符的选择范围可以从简单过程到更复杂的方法,涉及尺寸、形状、位置、相对距离、纹理内容等等。指针是携带对分割有影响的先验知识的标记符。人们常常使用先验知识在每天的视觉中帮助解决分割和高级任务。最为熟悉的便是使用文本。因此,分水岭分割提供可以有效利用这些类型的知识的框架这一事实,是这一方法的突出优点。
) n. H( W5 A; Z' h- C  F8 w7 _5 n# F! M

; s% \% D; b1 u" C& N二、源代码
* n# T8 G/ b* l  g# l
% o6 G9 w; x  q% L( E- G
  • %基于控制标记符的分水岭分割
  • [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('基于控制标记符的分水岭分割');
    % X: K) w' w* k( @
; z, V. \: c& K; w' u" ~

+ g- I0 K% z, X& Q- i0 Q6 b
% Y/ a8 u$ a1 q7 Q# M0 [三、运行结果1 P2 r0 K5 [( V

4 Z8 d2 ?4 v5 W# y$ w4 t: c' p
/ }+ v, |* I  H3 q

该用户从未签到

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

该用户从未签到

3#
发表于 2021-4-25 16:30 | 只看该作者
看一下      
: w& O+ @: J% d- Q
  • 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-6 03:26 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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