?? test_active_contour.m.svn-base
字號:
% test for active contours%% Copyright (c) 2007 Gabriel Peyreoptions.bound = 'per';n = 32;d = ones(n); d = rand(n);d = repmat(d,[1 1 2]);D = zeros(n^2);for i=1:n^2 a = zeros(n); a(i)=1; a = divgrad(divgrad(a,options)./d,options); D(:,i) = a(:);endn = 150;path(path, 'data/');path(path, 'toolbox/');motion = 'affine';motion = 'errosion';motion = 'chan-vese';motion = 'mean';motion = 'snake';% load image for active contourname = 'chan-vese';name = 'disk';name = 'brain';M = rescale( sum( load_image(name, n), 3) );options.solver = 'grad';options.solver = 'cg'; %% load original shapeoptions.null = 0;if strcmp(motion, 'snake') namec = 'square'; options.width = 0.95*n;elseif strcmp(motion, 'chan-vese') namec = 'small-disks';else namec = 'circlerect1'; namec = 'square'; namec = 'circlerect2';endD0 = compute_levelset_shape(namec, n);options.center = [0.15 0.15]*n;options.radius = 0.1*n;D1 = compute_levelset_shape('circle', n,options);%% set up the parametersoptions.Tmax = 1000;options.redistance_freq = 150;options.M = M;options.dt = 0.1;options.dt = 3;options.display_freq = 5;options.nb_svg = 100;if strcmp(motion, 'snake') options.Tmax = 2000; options.redistance_freq = 30; options.dt = 1; % compute edge-based energy sigma = 4; % blurring size G = divgrad( perform_blurring(M,sigma) ); G = sum( G.^2, 3); eta = 0.01; E = 1 ./ (eta + G); options.E = rescale(E, 0.7, 1);elseif strcmp(motion, 'chan-vese') options.redistance_freq = 30; options.E = M; options.lambda = 0.8; options.update_c = 0; options.c1 = 0; options.c2 = 0.5; options.dt = 0.2; options.dt = 2;endD = perform_active_contour(D0, motion, options);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -