snakeinit.m
上传用户:zlding2008
上传日期:2013-05-13
资源大小:1914k
文件大小:1k
源码类别:

2D图形编程

开发平台:

Matlab

  1. function [x,y] = snakeinit(delta)
  2. %SNAKEINIT  Manually initialize a 2-D, closed snake 
  3. %   [x,y] = SNAKEINIT(delta)
  4. %
  5. %   delta: interpolation step
  6. %   Chenyang Xu and Jerry L. Prince, 4/1/95, 6/17/97
  7. %   Copyright (c) 1995-97 by Chenyang Xu and Jerry L. Prince
  8. %   Image Analysis and Communications Lab, Johns Hopkins University
  9. hold on
  10. x = [];
  11. y = [];
  12. n =0;
  13. % Loop, picking up the points
  14. disp('Left mouse button picks points.')
  15. disp('Right mouse button picks last point.')
  16. but = 1;
  17. while but == 1
  18.       [s, t, but] = ginput(1);
  19.       n = n + 1;
  20.       x(n,1) = s;
  21.       y(n,1) = t;
  22.       plot(x, y, 'r-');
  23. end   
  24. plot([x;x(1,1)],[y;y(1,1)],'r-');
  25. hold off
  26. % sampling and record number to N
  27. x = [x;x(1,1)];
  28. y = [y;y(1,1)];
  29. t = 1:n+1;
  30. ts = [1:delta:n+1]';
  31. xi = interp1(t,x,ts);
  32. yi = interp1(t,y,ts);
  33. n = length(xi);
  34. x = xi(1:n-1);
  35. y = yi(1:n-1);