0
点赞
收藏
分享

微信扫一扫

【图像分割】基于水平集实现图像分割含Matlab源码


 

1 简介

基于全局和局部图像信息的水平集模型(LGIF模型),其基本思想是:在演化过程中,既利用图像的全局信息,也利用图像的局部信息来驱动曲线的演化,LGIF模型其实就是将LIF模型和GIF模型(ACM with Global Image Fitting model)两者的优点结合而形成的新模型,其中LIF模型表示图像的局部信息项,GIF模型表示图像的全局信息项。因而,LGIF模型既具有LIF模型的优点,利用图像的局部领域信息,可以在一定程度上处理灰度不均匀的图像;也具有GIF模型的优点,运用图像的全局信息,使得LGIF模型对初始轮廓的位置不敏感。其中,LIF模型的能量泛函定义如下:

【图像分割】基于水平集实现图像分割含Matlab源码_模型表示

【图像分割】基于水平集实现图像分割含Matlab源码_d3_02编辑


【图像分割】基于水平集实现图像分割含Matlab源码_模型表示_03

【图像分割】基于水平集实现图像分割含Matlab源码_水平集_04编辑


【图像分割】基于水平集实现图像分割含Matlab源码_水平集_05

【图像分割】基于水平集实现图像分割含Matlab源码_d3_06编辑


【图像分割】基于水平集实现图像分割含Matlab源码_d3_07

【图像分割】基于水平集实现图像分割含Matlab源码_水平集_08编辑


【图像分割】基于水平集实现图像分割含Matlab源码_模型表示_09

【图像分割】基于水平集实现图像分割含Matlab源码_d3_10编辑


【图像分割】基于水平集实现图像分割含Matlab源码_模型表示_11

【图像分割】基于水平集实现图像分割含Matlab源码_d3_12编辑


2 部分代码

function Ig=gauss(I,ks,sigma2)%private function: gauss (by Guy Gilboa):% Ig=gauss(I,ks,sigma2)% ks - kernel size (odd number)% sigma2 - variance of Gaussian[Ny,Nx]=size(I);hks=(ks-1)/2;  % half kernel sizeif (Ny<ks)   % 1d convolutin  x=(-hks:hks);   flt=exp(-(x.^2)/(2*sigma2));  % 1D gaussian  flt=flt/sum(sum(flt));  % normalize   % expand   x0=mean(I(:,1:hks)); xn=mean(I(:,Nx-hks+1:Nx));  eI=[x0*ones(Ny,ks) I xn*ones(Ny,ks)];  Ig=conv(eI,flt);  Ig=Ig(:,ks+hks+1:Nx+ks+hks);  % truncate tails of convolution   else   %% 2-d convolution  x=ones(ks,1)*(-hks:hks); y=x';   flt=exp(-(x.^2+y.^2)/(2*sigma2));  %2D gaussian  flt=flt/sum(sum(flt));  % normalize   % expand   if (hks>1)      xL=mean(I(:,1:hks)')'; xR=mean(I(:,Nx-hks+1:Nx)')';   else      xL=I(:,1); xR=I(:,Nx);   end   eI=[xL*ones(1,hks) I xR*ones(1,hks)];   if (hks>1)      xU=mean(eI(1:hks,:)); xD=mean(eI(Ny-hks+1:Ny,:));     else     xU=eI(1,:); xD=eI(Ny,:);      end  eI=[ones(hks,1)*xU; eI; ones(hks,1)*xD];  Ig=conv2(eI,flt,'valid');end

3 仿真结果

【图像分割】基于水平集实现图像分割含Matlab源码_d3_13

【图像分割】基于水平集实现图像分割含Matlab源码_模型表示_14编辑


【图像分割】基于水平集实现图像分割含Matlab源码_水平集_15

【图像分割】基于水平集实现图像分割含Matlab源码_水平集_16编辑


4 参考文献

[1]张辉. 基于改进型水平集的医学图像分割研究[D]. 扬州大学, 2017.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

​​5 代码下载​​

【图像分割】基于水平集实现图像分割含Matlab源码_模型表示_17

【图像分割】基于水平集实现图像分割含Matlab源码_水平集_18编辑

举报

相关推荐

0 条评论