⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eggshape.m

📁 Edge detection in microscopy images using curvelets
💻 M
字号:
function F=eggshape(dim, N, x0, x1, R, r)% F = eggshape(dim, N, x0, x1, R, r)%% Produces the characteristic function of an 'egg'% in dim (=2 or 3) dimensions with N^dim grid points% in the domain [0,1)^dim% the 'egg' is the convex hull of the union of two discs% with radii R and r and centered at x0 and x1 respectively%if r > R,    tmp = r; r = R; R = tmp;    tmp = x0; x0 = x1; x1 = tmp;endx=0:1./N:1-0.5./N;if dim==2,  [X,Y] = meshgrid(x,x);   % circular parts  F = ((X - x0(1)).^2 + (Y - x0(2)).^2 <= R^2);  F = F | ((X - x1(1)).^2 + (Y - x1(2)).^2 <= r^2);   % straight parts  dx = (x1-x0)/norm(x1-x0);  dxo = [-dx(2); dx(1)];  edx = (R-r)/norm(x1-x0);  edxo = sqrt(1-edx^2);  e{1} = [dx dxo] * [edx; edxo];  e{2} = [dx -dxo] * [edx; edxo];    eo{1} = [-e{1}(2); e{1}(1)];  eo{2} = [e{2}(2); -e{2}(1)];  G = ones(size(F));  for k=1:2,         pe0 = ((X - x0(1)) * e{k}(1) + (Y - x0(2)) * e{k}(2));      pe0o = ((X - x0(1)) * eo{k}(1) + (Y - x0(2)) * eo{k}(2));      pe1 = ((X - x1(1)) * e{k}(1) + (Y - x1(2)) * e{k}(2));      pe1o = ((X - x1(1)) * eo{k}(1) + (Y - x1(2)) * eo{k}(2));      F = F | (pe0 <= R & pe1 >= -r & pe1o >= 0 & pe0o <=0);      G = G & (pe1 <= r & pe0 >= 0 & pe1o >= 0 & pe0o <= 0);  end  F = F | G;else        endF = double(F);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -