function unew=level_iter(img,u,step,g,alf,beta,gama)
%set boundry
[nrow,ncol]=size(u);
u([1 nrow],[1 ncol]) = u([3 nrow-2],[3 ncol-2]);
u([1 nrow],2:end-1) = u([3 nrow-2],2:end-1);
u(2:end-1,[1 ncol]) = u(2:end-1,[3 ncol-2]);
%****gamma division***
e=1.0;
%clculate delta
delta=(e/pi)./(e^2+u.^2);
% H function
H=0.5*(1+(2/pi)*atan(u./e));
%gradient value
[ux,uy]=gradient(u);
grad=sqrt(ux.^2+uy.^2+1e-10);
%curvature
Nx=ux./grad;
Ny=uy./grad;
[nxx,junk]=gradient(Nx);
[junk,nyy]=gradient(Ny);
K=nxx+nyy;
%compute the edge motivation
Nxg=g.*Nx;
Nyg=g.*Ny;
[nxxg,junk]=gradient(Nxg);
[junk,nyyg]=gradient(Nyg);
gdiv=nxxg+nyyg;
%distance adjustment
Li=0.04*(4*del2(u)-K);
%parameter
b=length(find(u>=0));
f=length(find(u<0));
wf=f/(f+b);
wb=b/(f+b);
%gamma
[Pt,Pb]=gamma_dis(img,H);
%G0
[pt,pb]=g0_dis(img,H);
area=log(wf)+log(pt)-log(wb)-log(Pb);
unew=u+step*(alf*delta.*area+beta*delta.*(gdiv+gama*g)+Li);
基于边缘和GO分布的水平集图像分割
需积分: 9 47 浏览量
2016-06-30
21:54:26
上传
评论
收藏 1KB RAR 举报
qingmeizhuma888
- 粉丝: 1
- 资源: 3
最新资源
- ParaStor300S 对象存储服务接口参考V1.0(V4.0.X).pdf
- ParaStor300S产品FAQ.doc
- SBM模型、超效率SBM模型代码(原始面板数据、MATLAB)
- 基于汇川AM系列PLC做的CNC加工
- ParaStor300S技术培训PPT-面向售前-V1.4.pptx
- 在MATLAB中,你可以使用多种函数和工具来创建各种类型的图形 以下是一些基本的MATLAB绘图命令和示例:
- 1_网络2204班 30 王磊 open flow 协议分析实践.docx
- 探索 v-on 之奥秘二:事件及各类修饰符的深度剖析与案例展示
- k8s基础教程与相关面试
- TerraScan中文用户指南
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈