2011-09-21 5 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 속성을 볼 수도 있지만 실제로 키를 눌렀을 때 알 수있는 방법은 없습니다.

관련 문제