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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
/ ?+ _# @' i5 |2 C' |6 H
一、简介
" |) M5 V$ C4 A. L0 C0 D9 w3 ?1 a1.使用距离变换的分水岭分割
9 I# ~& g- ?1 c( {2 }9 R9 K* @. @! l0 y, S! A' ]
(1)距离变换
9 T  p& Q1 U! D" G
  ~; Z( x8 ^0 V9 }, OD = bwdist(BW);
, d" M8 u5 V# \# j7 J& Y; }) K# w1 G
二值图像的距离变换是指从每个像素到最接近零值的像素的距离。
( t* I3 f1 l7 H. o; g2 W6 Z2 X" @
: x, b9 ]+ x2 A3 v; k- Y/ n(2)测地距离变换
7 z+ O- x1 A- m7 j& U+ ?5 @* }0 W7 e" [
D = bwdistgeodesic(BW,mask);, w  L# {/ }# E6 q' D5 c

$ H8 z6 e/ _' i3 m, p. R! ]2.使用梯度的分水岭分割
. Z0 R7 h( t& o" M2 D" o  C+ f. U% T8 j& K' w; P
获取梯度图像:
% N  ~9 _0 N9 u9 l& W% E* t9 {8 q1 Z' h8 c3 ~
h = fspecial(‘sobel’);  @+ a& V& c( K

2 i- k0 W; m. y5 R, _fd = tofloat(f);  }3 W7 A" A; h; R

7 v  k3 [; n4 _# J6 e7 Cg = sqrt(imfilter(fd, h, ‘replicate’) .^ 2 + …5 F- ?4 R) t, c6 O9 S

" N+ ?8 |8 K. J* kimfilter(fd, h’, ‘replicate’) .^ 2);
3 u& t3 a. e: r
  n/ P! |! G4 W: d0 T& ^5 R) o在使用针对分割的分水岭变换之前,常常使用梯度幅度对图像进行预处理。梯度幅度图像沿着物体的边缘有较高的像素值,而在其他地方则有较低的像素值。在理想的情况下,分水岭变换可得到沿物体边缘的分水岭脊线。若梯度图像直接进行分水岭变换可能会严重过分割,所以在计算分水岭变换之前可以先平滑梯度图像。
/ h1 X, i/ x2 h/ _. `7 d4 M( P5 h+ ?  w
3.控制标记符的分水岭分割
7 x0 H9 U( G( F. F; [
; h6 K; }( S3 N- _) X$ t(1)计算局部极小值区域- C! ^8 [! P5 T" T! h" X/ M/ r5 ]
" Q7 Y) J1 W9 T' w" ?
rm = imregionalmin(f);
, }4 s( P; n8 e1 p& O- g& o; x- ?) N
其中,f 是灰度图像,rm 是二值图像,rm 的前景像素标记出局部小区域的位置。( Q( r  [) Z2 A' O. Q% r' H5 {

3 u1 Z- A( [! Z; e# i- d+ K(2)扩展极小值
( p" S: U7 ?) E3 M. K: P7 w6 @3 y6 x7 w, x2 a# z  `
im = imextendedmin(f,h);/ T0 h* L% A" {5 Z' T
6 M% U+ \. b+ K5 r
其中,f 是灰度图像,h 是高度阈值,im 是一幅二值图像,im 的前景像素标记了深的局部小区域的位置。! L) J$ z4 v( K
9 D& G+ c1 B8 [% `) v! m
(3)强制最小% Y* `% x  x% _2 d
7 ?5 N! S! ~" L9 N
mp = imimposemin(f, mask);: Q3 A6 E! [* e/ s, y# H# C

# Q8 S7 q4 o( v0 L9 d2 ~/ f其中,f 是灰度图像,mask 是二值图像,mask 的前景像素标记了输出图像 mp 中局部最小区域的期望位置。通过在内部和外部标记符的位置覆盖局部最小区域,可以改进梯度图像,用于控制过分割的一种方法是基于标记符的概念。标记符是属于一幅图像的连通分量。我们希望有一个内部标记符集合,它们处在每个感兴趣物体的内部,而外部标记符集合包含在背景中。标记符的选择范围可以从简单过程到更复杂的方法,涉及尺寸、形状、位置、相对距离、纹理内容等等。指针是携带对分割有影响的先验知识的标记符。人们常常使用先验知识在每天的视觉中帮助解决分割和高级任务。最为熟悉的便是使用文本。因此,分水岭分割提供可以有效利用这些类型的知识的框架这一事实,是这一方法的突出优点。
( M0 m) W+ a  A1 k3 Q+ V& _. ~. G6 \' n3 _* {' T3 `$ D7 ~: y) {

. r7 k* j$ g1 U& H: b0 b二、源代码+ J' F& H; }- v+ r0 D

$ _! S) a8 T% M2 M, a
  • %基于控制标记符的分水岭分割
  • [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('基于控制标记符的分水岭分割');$ E' y' H7 J2 F4 T* @; {; F

( ~7 V! K+ J0 w: @% x5 L+ s/ v: b: a8 n$ g3 Y

7 Q# x4 f+ M9 h3 g) K三、运行结果
+ @. M# e: j6 @: {( B
: A, s& ]4 T2 d" n' {, X
1 ]# L5 v8 u9 b: y9 x9 Y

该用户从未签到

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

该用户从未签到

3#
发表于 2021-4-25 16:30 | 只看该作者
看一下      6 k5 G% t4 T* H' n: X; m% m6 q. \: W
  • 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-7-19 13:17 , Processed in 0.109375 second(s), 26 queries , Gzip On.

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

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

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