事前に次のことを理解しておいてください。
サンプルプログラムを動かすために、呈示画像(JPEG形式)を準備してrabbit.jpgという名前でプログラムと同じ場所に保存してください。適当な画像がなければ、下の画像をダウンロードしてください。ちなみにこの画像は、PsychDemosにある
「konijntjes1024x768.jpg」を縮小したものです。
サンプルプログラムは次の通りです。
function Image1% 画像を呈示するだけ。何かのキーを押したら終了try AssertOpenGL; ListenChar(2); %Matlabに対するキー入力を無効 %myKeyCheck; screenNumber = max(Screen('Screens')); [win, rect] = Screen('OpenWindow', screenNumber, 0); %実験プログラムを保存しているフォルダ内にrabbit.jpgを準備してください。 myimgfile = 'rabbit.jpg'; %画像の読み込み imdata = imread(myimgfile, 'jpg'); %画像サイズの幅(ix)が列の数に相当し、画像サイズの高さ(iy)が %行の数の相当するため、返り値は、iy, ixの順番になっている。 [iy, ix, id] = size(imdata); imagetex = Screen('MakeTexture', win, imdata); %上と同じ %imagetex = Screen('MakeTexture', win, imdata(1:iy, 1:ix, :)); %画像の左上だけを呈示 %imagetex = Screen('MakeTexture', win, imdata(1:iy/2, 1:ix/2, :)); Screen('DrawTexture', win, imagetex); Screen('Flip', win); KbWait; sca; ListenChar(0);catch sca; ListenChar(0); psychrethrow(psychlasterror);end注意点
Screen('MakeTexture', win, imdata(1:iy/2, 1:ix/2, :)); のようにすると、画像の情報が入っているimdataのある部分だけを画像として呈示することができます。