資源簡介
距離正則化水平集演化模型,DRLSE,無需初始化模型基礎上引入新的符號距離保持項。水平集分割經典算法。里面有文獻和代碼,可以直接運行。

代碼片段和文件信息
%??This?Matlab?code?demonstrates?an?edge-based?active?contour?model?as?an?application?of?
%??the?Distance?Regularized?Level?Set?Evolution?(DRLSE)?formulation?in?the?following?paper:
%
%??C.?Li?C.?Xu?C.?Gui?M.?D.?Fox?“Distance?Regularized?Level?Set?Evolution?and?Its?Application?to?Image?Segmentation“?
%?????IEEE?Trans.?Image?Processing?vol.?19?(12)?pp.?3243-3254?2010.
%
%?Author:?Chunming?Li?all?rights?reserved
%?E-mail:?lchunming@gmail.com???
%?????????li_chunming@hotmail.com?
%?URL:??http://www.engr.uconn.edu/~cmli/
clear?all;
close?all;
Img=imread(‘gourd.bmp‘);
Img=double(Img(::1));
%%?parameter?setting
timestep=1;??%?time?step
mu=0.2/timestep;??%?coefficient?of?the?distance?regularization?term?R(phi)
iter_inner=5;
iter_outer=20;
lambda=5;?%?coefficient?of?the?weighted?length?term?L(phi)
alfa=-3;??%?coefficient?of?the?weighted?area?term?A(phi)
epsilon=1.5;?%?papramater?that?specifies?the?width?of?the?DiracDelta?function
sigma=.8;????%?scale?parameter?in?Gaussian?kernel
G=fspecial(‘gaussian‘15sigma);?%?Caussian?kernel
Img_smooth=conv2(ImgG‘same‘);??%?smooth?image?by?Gaussiin?convolution
[IxIy]=gradient(Img_smooth);
f=Ix.^2+Iy.^2;
g=1./(1+f);??%?edge?indicator?function.
%?initialize?LSF?as?binary?step?function
c0=2;
initialLSF?=?c0*ones(size(Img));
%?generate?the?initial?region?R0?as?two?rectangles
initialLSF(25:3520:25)=-c0;?
initialLSF(25:3540:50)=-c0;
phi=initialLSF;
figure(1);
mesh(-phi);???%?for?a?better?view?the?LSF?is?displayed?upside?down
hold?on;??contour(phi?[00]?‘r‘‘LineWidth‘2);
title(‘Initial?level?set?function‘);
view([-80?35]);
figure(2);
imagesc(Img[0?255]);?axis?off;?axis?equal;?colormap(gray);?hold?on;??contour(phi?[00]?‘r‘);
title(‘Initial?zero?level?contour‘);
pause(0.5);
potential=2;??
if?potential?==1
????potentialFunction?=?‘single-well‘;??%?use?single?well?potential?p1(s)=0.5*(s-1)^2?which?is?good?for?region-based?model?
elseif?potential?==?2
????potentialFunction?=?‘double-well‘;??%?use?double-well?potential?in?Eq.?(16)?which?is?good?for?both?edge?and?region?based?models
else
????potentialFunction?=?‘double-well‘;??%?default?choice?of?potential?function
end??
%?start?level?set?evolution
for?n=1:iter_outer
????phi?=?drlse_edge(phi?g?lambda?mu?alfa?epsilon?timestep?iter_inner?potentialFunction);????
????if?mod(n2)==0
????????figure(2);
????????imagesc(Img[0?255]);?axis?off;?axis?equal;?colormap(gray);?hold?on;??contour(phi?[00]?‘r‘);
????end
end
%?refine?the?zero?level?contour?by?further?level?set?evolution?with?alfa=0
alfa=0;
iter_refine?=?10;
phi?=?drlse_edge(phi?g?lambda?mu?alfa?epsilon?timestep?iter_inner?potentialFunction);
finalLSF=phi;
figure(2);
imagesc(Img[0?255]);?axis?off;?axis?equal;?colormap(gray);?hold?on;??contour(phi?[00]?‘r‘);
hold?on;??contour(phi?[00]?‘r‘);
str=[‘Final?zero?level?contour?‘?num2str(iter_outer*iter_inner+iter_refine)?‘?iterations‘];
title(str);
figure;
mesh(-finalLSF);?%?for?a?better?view?the?LSF?is?displayed?upside
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3291??2018-05-14?07:53??DRLSE(Li)\demo_1.m
?????文件???????3171??2018-05-14?07:53??DRLSE(Li)\demo_2.m
?????文件????1966604??2020-01-06?21:12??DRLSE(Li)\DRLSE.pdf
?????文件???????3517??2018-05-14?07:53??DRLSE(Li)\drlse_edge.m
?????文件???????5798??2018-05-14?07:53??DRLSE(Li)\gourd.bmp
?????文件???????3123??2018-05-14?07:53??DRLSE(Li)\improved-drlse.m
?????文件??????16434??2018-05-14?07:53??DRLSE(Li)\twocells.bmp
?????文件??????14286??2018-05-14?07:53??DRLSE(Li)\vessel.bmp
?????目錄??????????0??2020-01-06?16:26??DRLSE(Li)
-----------?---------??----------?-----??----
??????????????2016224????????????????????9
評論
共有 條評論