PTB Demos

作者: solimania | 来源:发表于2018-06-02 22:37 被阅读0次

    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

    相关文章

      网友评论

          本文标题:PTB Demos

          本文链接:https://www.haomeiwen.com/subject/umrdsftx.html