2014-06-17 2 views
0

나는이 프로젝트를 이미지 프로세싱에 사용하고 있습니다. 나는 원하는 지역의 가면을 얻기 위해 imellipse를 사용하여 GUI 인터페이스에 플롯 할 수 있습니다.gui Matlab의 imellipse

항상 "createMask는 이미지가 포함 된 현재 그림을 기대합니다."라는 오류 메시지가 나타납니다. 이 오류의 원인은 누구에게 있습니까?

내 프로그램입니다

global RC 
b = imellipse(handles.axes1) 
position =wait(b) 
ma = createMask(b,RC); 
imk=immultiply(ma,RC); 
axes=(handles.axes1); 
figure;imshow(imk); 
+1

왜 'RC'를 createMask 함수에 전달하고 있습니까? 정의 된 내용은 무엇입니까? – Geoff

+0

RC는 내 사전 처리 된 이미지입니다. – user3746841

답변

0

createMask의 형식은 다음과 같습니다

BW = createMask(h_roi,h_im); 
h_roi는 투자 수익 (ROI)을 (귀하의 경우 b에서) 핸들입니다

하고 h_im는 핸들입니다 영상. 예 : 워드 프로세서에서이 표준의 예에서 : 당신이 이미지에 대한 핸들이없는 경우

img = imread('pout.tif'); 
h_im = imshow(img); % creates image handle 
e = imellipse(gca,[55 10 120 120]); % creates handle to roi 
BW = createMask(e,h_im); % uses those two to get mask 

, 당신은 findobj에 해당하는 축에서 그것을 가져올 수 있습니다 : 당신이 할 수있다 귀하의 경우에는

h_im = findobj(gca,'Type','image'); 

gca을 원하는 축에 대한보다 명확한 링크로 바꾸고 싶습니다. handles.axes1. 위의 내용은 축에 이미지가 하나만 있다고 가정합니다.

아마도 이미지 핸들을 가리키는 전역 변수로 RC를 사용 했겠지만 지금까지 제공 한 코드에서는 RC를 말할 수 없습니다. 가능하다면 전역 변수를 사용하지 않는 것이 좋습니다.

+0

답변 해 주셔서 감사합니다. – user3746841