资源简介

主动轮廓线模型又称为SNAKE模型,自Kass于1987年提出以来,已广泛应用于数字图像分析和计算机视觉领域。

资源截图

代码片段和文件信息

function J=DrawSegmentedArea2D(PIsize)
% Draw the contour as one closed line in a logical image 
% and make the inside of the contour true with imfill
%
%  J=DrawSegmentedArea2D(PIsize)
%
% inputs
%  P : The list with contour points 2 x N
%  Isize : The size of the output image [x y]
%
% outputs
%  J : The binary image with the contour filled
%
% example:
%   y=[182 233 251 205 169];
%   x=[163 166 207 248 210];
%   P=[x(:) y(:)];
%
%   J=DrawSegmentedArea(P[400 400]);
%   figure imshow(J); 
%   hold on; plot([P(:2);P(12)][P(:1);P(11)]);
%
% Function is written by D.Kroon University of Twente (July 2010)


J=false(Isize+2);
% Loop through all line coordinates
x=round([P(:1);P(11)]); x=min(max(x1)Isize(1));
y=round([P(:2);P(12)]); y=min(max(y1)Isize(2));
for i=1:(length(x)-1)
   % Calculate the pixels needed to construct a line of 1 pixel thickness
   % between two coordinates.
   xp=[x(i) x(i+1)];  yp=[y(i) y(i+1)]; 
   dx=abs(xp(2)-xp(1)); dy=abs(yp(2)-yp(1));
   if(dx==dy)
     if(xp(2)>xp(1)) xline=xp(1):xp(2); else xline=xp(1):-1:xp(2); end
     if(yp(2)>yp(1)) yline=yp(1):yp(2); else yline=yp(1):-1:yp(2); end
   elseif(dx>dy)
     if(xp(2)>xp(1)) xline=xp(1):xp(2); else xline=xp(1):-1:xp(2); end
     yline=linspace(yp(1)yp(2)length(xline));
   else
     if(yp(2)>yp(1)) yline=yp(1):yp(2); else yline=yp(1):-1:yp(2); end
     xline=linspace(xp(1)xp(2)length(yline));   
   end
   % Insert all pixels in the fill image
   J(round(xline+1)+(round(yline+1)-1)*size(J1))=1;
end
J=bwfill(J11); J=~J(2:end-12:end-1);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1613  2010-07-12 18:12  DrawSegmentedArea2D.m
     文件         960  2010-07-12 20:06  ExternalForceImage2D.m
     文件         747  2010-07-12 20:07  ExternalForceImage3D.m
     文件        1306  2010-11-11 20:27  GVFOptimizeImageForces2D.m
     文件        1720  2010-11-11 20:27  GVFOptimizeImageForces3D.m
     文件         736  2010-07-12 18:13  GetContourNormals2D.m
     文件        1008  2010-07-12 17:50  ImageDerivatives2D.m
     文件        1717  2010-11-11 20:02  ImageDerivatives3D.m
     文件        1404  2011-01-24 19:14  InterpolateContourPoints2D.m
     文件         610  2010-07-12 18:13  MakeContourClockwise2D.m
     文件        1065  2010-07-12 20:26  MakeContourClockwise3D.m
     文件        2075  2010-07-12 20:21  PatchNormals3D.m
     文件        5340  2009-06-02 21:16  PatchNormalsDouble.c
     文件        1353  2010-07-12 19:01  PatchNormalsDouble.m
     文件        8608  2010-07-27 18:42  SeparateKernel.m
     文件        6452  2010-07-12 21:50  Snake2D.m
     文件        5766  2011-11-08 17:56  Snake3D.m
     文件         870  2010-07-12 18:14  SnakeInternalForceMatrix2D.m
     文件        1433  2011-11-08 17:52  SnakeInternalForceMatrix3D.m
     文件        1273  2010-07-12 18:12  SnakeMoveIteration2D.m
     文件        1943  2011-11-08 17:49  SnakeMoveIteration3D.m
     文件        9807  2010-07-12 19:53  SphereMesh.mat
     文件        2073  2009-09-24 19:09  imgaussian.m
     文件        1335  2011-11-08 12:00  license.txt
     文件        2367  2010-07-07 20:27  testimage.png
     文件        1328  2010-07-08 20:46  testimage2.png
     文件        4874  2010-07-12 19:49  testvolume.mat

评论

共有 条评论