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

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

 

1 简介

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

image.gif编辑

image.gif编辑

image.gif编辑

image.gif编辑

image.gif编辑

image.gif编辑

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 仿真结果

image.gif编辑

image.gif编辑

4 参考文献

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

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

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

5 代码下载

image.gif编辑

相关文章
|
7月前
|
机器学习/深度学习 传感器 算法
【特征提取】语音信号端点检测+倒谱法+自相关法特征提取附Matlab源码
【特征提取】语音信号端点检测+倒谱法+自相关法特征提取附Matlab源码
|
18天前
|
存储 人工智能 机器人
【Matlab】Matlab 汉/英语(A/a)声学特征比较与基音频率分析(源码+音频文件)【独一无二】
【Matlab】Matlab 汉/英语(A/a)声学特征比较与基音频率分析(源码+音频文件)【独一无二】
|
1月前
|
算法 计算机视觉 索引
基于四叉树的图像分割算法matlab仿真
基于四叉树的图像分割算法matlab仿真
基于四叉树的图像分割算法matlab仿真
|
2月前
|
编解码 并行计算 算法
如何在 MATLAB 中进行图像分割(matlab仿真与图像处理系列第7期)
如何在 MATLAB 中进行图像分割(matlab仿真与图像处理系列第7期)
80 1
|
7月前
|
机器学习/深度学习 传感器 算法
【SVM分类】基于布谷鸟算法优化实现SVM数据分类matlab源码
【SVM分类】基于布谷鸟算法优化实现SVM数据分类matlab源码
|
7月前
|
机器学习/深度学习 传感器 算法
【图像分割】图像检测(分割、特征提取)、各种特征(面积等)的测量和过滤(Matlab代码实现)
【图像分割】图像检测(分割、特征提取)、各种特征(面积等)的测量和过滤(Matlab代码实现)
|
7月前
|
机器学习/深度学习 传感器 算法
【语音处理】语音信号特技处理(延时、混响、滤波)附Matlab源码
【语音处理】语音信号特技处理(延时、混响、滤波)附Matlab源码
|
8月前
|
机器学习/深度学习 传感器 算法
【DBN时序预测】基于深度置信网络DBN实现风速预测附Matlab源码
【DBN时序预测】基于深度置信网络DBN实现风速预测附Matlab源码
|
3月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
|
3月前
【数值分析】迭代法求方程的根(附matlab代码)
【数值分析】迭代法求方程的根(附matlab代码)