mkfract.m

来自「matlab的steel金字塔小波分解源代码」· M 代码 · 共 37 行

M
37
字号
% IM = mkFract(SIZE, FRACT_DIM)%% Make a matrix of dimensions SIZE (a [Y X] 2-vector, or a scalar)% containing fractal (pink) noise with power spectral density of the% form: 1/f^(5-2*FRACT_DIM).  Image variance is normalized to 1.0.% FRACT_DIM defaults to 1.0% Eero Simoncelli, 6/96.%% TODO: Verify that this  matches Mandelbrot defn of fractal dimension.%%       Make this more efficient!function res = mkFract(dims, fract_dim)if (exist('fract_dim') ~= 1)  fract_dim = 1.0;endres = randn(dims);fres = fft2(res);sz = size(res);ctr = ceil((sz+1)./2);shape = ifftshift(mkR(sz, -(2.5-fract_dim), ctr));shape(1,1) = 1;  %%DC termfres = shape .* fres;fres = ifft2(fres);if (max(max(abs(imag(fres)))) > 1e-10)  error('Symmetry error in creating fractal');else  res = real(fres);  res = res / sqrt(var2(res));end  

⌨️ 快捷键说明

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