2011-09-21 19 views
1

我試圖通過matlab中的一些圖像數據進行排序,並希望提示用戶輸入一系列圖像。每次我顯示圖像時,我想暫停並等待按鍵,並根據按下的內容執行不同的操作。在查看圖形時檢測matlab中的按鍵?

目前最好的解決辦法:

responses = zeros(length(images),1); 
for i = 1:length(images) 
    im = imread(images{i}.fname); 
    h = figure(1); 
    imshow(im); 

    % instead of just pause, I want to get the keystroke (k) that was pressed 
    waitforbuttonpress; 
    k = get(h,'CurrentCharacter'); 

    switch lower(k) 
     case 'a' 
      responses(i) = 1; 
     case 'b' 
      responses(i) = 2; 
    end 

end 

回答

2

你可以使用它應該被設置爲接收包含按字符事件結構的回調函數的句柄圖形環境的KeyPressFcn財產。有關詳細信息和示例,請參閱Matlab documentation

您也可以查看圖形環境的CurrentKey屬性,但它不會讓您知道何時按下該按鍵。