www.gusucode.com > IPCV_Eval_Kit_R2019a_0ce6858工具箱matlab程序源码 > IPCV_Eval_Kit_R2019a_0ce6858/code/demo_files/I2_09_4_2_activecontourSegmentation.m

    %% 摦揑椫妔傪梡偄偨僙僌儊儞僥乕僔儑儞
clc;close all;imtool close all;clear;

%% 夋憸偺撉崬傒
G = imread('I2_09_4_2_nuclei.jpg');
imshow(G);

%% 儅僗僋偺嶌惉乮弶婜僄僢僕乯
mask = zeros(size(G));
mask(25:end-25,25:end-25) = 1;
imshow(mask);shg;

%% 尰嵼偺儅僗僋偺椫妔傪昤夋
imshow(G); shg; hold on;
b = bwboundaries(mask, 'noholes'); % 椫妔傪拪弌
plot(b{1}(:,2),b{1}(:,1),'r','LineWidth',3);
hold off;

%% 摦揑椫妔傪巊梡偟偨僙僌儊儞僥乕僔儑儞
%    憤寁400夞偺斀暅傪丄1僗僥僢僾10夞偢偮偵暘偗偰傾僯儊乕僔儑儞昞帵
stepsize=10;
for k = 1:400/stepsize
  mask = activecontour(G, mask, stepsize);

  % 尰嵼偺儅僗僋偺椫妔傪昤夋
  imshow(G); title(sprintf('Iteration %d',k*stepsize),'FontSize',16);
  b = bwboundaries(mask, 'noholes'); % 椫妔傪拪弌
  hold on;
  for k=1:size(b)
    plot(b{k}(:,2),b{k}(:,1),'r','LineWidth',3);
  end
  hold off;
  drawnow;
end


%% 僀儊乕僕偺椞堟暘妱 傾僾儕働乕僔儑儞: 
imageSegmenter(G);


%% Copyright 2013-2014 The MathWorks, Inc.