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

2D图形编程

开发平台:

Matlab

  1. function D = dt(B)
  2. % DT apply Eucledian distance transform
  3. %    D = dt(B) compute the Eucledian distance transform of B
  4. %    B must be a binary map. 
  5. %
  6. % NOTE: this is not an efficient way to implement distance transform. 
  7. %    If one is interested in using DT, one may want to implement its
  8. %    own DT. 
  9. %    Chenyang Xu and Jerry L. Prince 6/17/97
  10. %    Copyright (c) 1996-97 by Chenyang Xu and Jerry L. Prince
  11. [i,j] = find(B);
  12. [n,m] = size(B);
  13. for x = 1:n,
  14.     for y = 1:m,
  15.         dx = i-x;
  16.         dy = j-y;
  17.         dmag = sqrt(dx.*dx+dy.*dy);
  18. D(x,y) = min(dmag);
  19.     end
  20. end