资源简介
生成不同朝向,不同空间频率,不同时间频率,不同颜色的光栅程序
代码片段和文件信息
function IMA = grating(mnvarargin)
% 绘制光栅图
% grating(mn) 绘制光栅图(灰度图),m为灰度值矩阵的行数,n为列数
% grating(mn‘PARAM1‘val1 ‘PARAM2‘val2 ...) 用成对出现的参数名/参数值
% 指定光栅图的显示属性,可用的参数名/参数值如下:
% ‘Direction‘ -- 设定光栅条纹的方向,其参数值为:
% ‘horizontal‘ -- 水平条纹
% ‘Vertical‘ -- 竖直条纹
% ‘circle‘ -- 同心圆条纹
% ‘radiated‘ -- 辐射状条纹
%
% ‘Velocity‘ -- 设定角速度,其参数值为标量
%
% ‘Angle‘ -- 设定初始相位角,其参数值为标量
%
% ‘Color‘ -- 设定光栅条纹的颜色,其参数值为:
% ‘Gray‘ -- 黑白条纹
% ‘Rgb‘ -- 彩色条纹
%
% IMA = grating( ... ) 返回光栅图对应的灰度值矩阵
%
% CopyRight:xiezhh(谢中华)
% 2011.11.26
% Example:
% grating(512512‘direction‘‘rad‘‘Velocity‘5000‘color‘‘rgb‘);
% grating(512512‘Velocity‘20‘maxgrayval‘200)
% grating(512512‘direction‘‘ver‘‘Velocity‘40)
% grating(512512‘Velocity‘20‘maxgrayval‘200‘direction‘‘cir‘)
if nargin < 2
error(‘输入参数过少‘);
end
[DirectionVelAngColMaxGrayVal] = parseInputs(varargin{:});
if strncmpi(Direction‘hor‘3)
x = (1:m)‘;
Theta = x*pi/Vel;
Theta = repmat(Theta[1n]);
elseif strncmpi(Direction‘ver‘3)
x = 1:n;
Theta = x*pi/Vel;
Theta = repmat(Theta[m1]);
elseif strncmpi(Direction‘cir‘3)
x = repmat((1:n)[m1])-n/2;
y = repmat((1:m)‘[1n])-m/2;
D = sqrt(x.^2 + y.^2);
Theta = D*pi/Vel;
elseif strncmpi(Direction‘rad‘3)
x = repmat((1:n)[m1])-n/2;
- 上一篇:MSR MATLAB
- 下一篇:最小费用最大流
评论
共有 条评论