📄 mksine.m
字号:
% IM = mkSine(SIZE, PERIOD, DIRECTION, AMPLITUDE, PHASE, ORIGIN)% or% IM = mkSine(SIZE, FREQ, AMPLITUDE, PHASE, ORIGIN)% % Compute a matrix of dimension SIZE (a [Y X] 2-vector, or a scalar)% containing samples of a 2D sinusoid, with given PERIOD (in pixels),% DIRECTION (radians, CW from X-axis, default = 0), AMPLITUDE (default% = 1), and PHASE (radians, relative to ORIGIN, default = 0). ORIGIN% defaults to the center of the image.% % In the second form, FREQ is a 2-vector of frequencies (radians/pixel).% Eero Simoncelli, 6/96.function [res] = mkSine(sz, per_freq, dir_amp, amp_phase, phase_orig, orig)%------------------------------------------------------------%% OPTIONAL ARGS:if (prod(size(per_freq)) == 2) frequency = norm(per_freq); direction = atan2(per_freq(1),per_freq(2)); if (exist('dir_amp') == 1) amplitude = dir_amp; else amplitude = 1; end if (exist('amp_phase') == 1) phase = amp_phase; else phase = 0; end if (exist('phase_orig') == 1) origin = phase_orig; end if (exist('orig') == 1) error('Too many arguments for (second form) of mkSine'); endelse frequency = 2*pi/per_freq; if (exist('dir_amp') == 1) direction = dir_amp; else direction = 0; end if (exist('amp_phase') == 1) amplitude = amp_phase; else amplitude = 1; end if (exist('phase_orig') == 1) phase = phase_orig; else phase = 0; end if (exist('orig') == 1) origin = orig; endend%------------------------------------------------------------ if (exist('origin') == 1) res = amplitude*sin(mkRamp(sz, direction, frequency, phase, origin));else res = amplitude*sin(mkRamp(sz, direction, frequency, phase));end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -