PTB Demos

2018-06-02  本文已影响0人  solimania

http://peterscarfe.com/totallyminimaldemo.html

显示灰色屏幕

PsychDefaultSetup(2);

 % 调用一些默认设置,输入参数有0,1,2,对应不同的作用,此函数说明;screens =Screen('Screens');

 % 获取屏幕的序号,本机屏幕序号为0

white =WhiteIndex(screenNumber);

black =BlackIndex(screenNumber);

% 定义屏幕灰度的白色和黑色,1:白色;0:黑色,其他灰度在0-1之间[window, windowRect] =PsychImaging('OpenWindow', screenNumber, grey);

% 调用PsychImaging,打开screenNumber对应的屏幕,颜色置为“灰色”,返回窗口的标识码window和窗口矩形的四个顶点的坐标(至左、至上、至右、至下)

windowRectKbStrokeWait;

% 等待任意按键按下,终止程序

sca;

% 清楚屏幕,Screen CloseAll的缩写,如果不添加此语句,终止程序后,屏幕并不会消失

http://peterscarfe.com/totallyminimaldemo2.html

运行结果:和#1一样,显示一个灰度屏幕,但同时得到了屏幕的尺寸、灰度等信息

程序几点知识:

rect =Screen('Rect',window);

% 获取window的尺寸,得到的rect和前面的windowRect相同[screenXpixels, 

screenYpixels] =Screen('WindowSize',window);

% 获取window的像素,也是前面rect向量的后面两个数值

[xCenter, yCenter] =RectCenter(windowRect);

% 获取window中心坐标,像素为单位

% xCenter = screenXpixels / 2

% yCenter = screenYpixels / 2

ifi =Screen('GetFlipInterval',window);

% 得到window的最小的每帧时间,即一帧的时间

hertz =FrameRate(window);

% hertz是屏幕的刷新频率,和ifi的关系:ifi = 1 / hertz

nominalHertz =Screen('NominalFrameRate', window);

% 得到window正常每帧切换时间,一般和最小的ifi差别不大;

pixelSize =Screen('PixelSize', window);

% 得到window的像素的灰度深度(灰度级),如8位、24位

[width, height] =Screen('DisplaySize', screenNumber);

% 得到显示大小,单位mm

maxLum =Screen('ColorRange', window);

% 获取window最大算亮度级别,一般是1

上一篇 下一篇

猜你喜欢

热点阅读