문제

MATLAB 가이드를 사용하여 GUI를 만들기위한 과제가 있으며 편집 된 사진을 표시하는 데 문제가 있습니다. 그림을 편집하는 버튼 (예 : 빨간색, 파란색, 녹색 구성 요소를 제거하고 회전)과 편집 된 그림을 표시해야합니다. 나는 사용 중입니다 imshow 편집 된 그림을 표시하지만 새 창에 표시되고 실행중인 GUI를 종료합니다. 누구든지 도울 수 있습니까?

나는 이것에 대해 노력해 왔으며 문제를 해결하는 다양한 방법을 시도했지만 아무도 효과가 없었습니다. 그러나 MATLAB 7.0.1을 사용하고 있으며 7.7.0은이 문제에 대한 업데이트가있을 수 있습니다.

도움이 되었습니까?

해결책

당신이 처음 이미지를 그와 함께 그릴 때 imshow, 핸들을 생성하는 이미지 객체로 반환하도록하십시오.

A = (the initial matrix of image data);
hImage = imshow(A);

그런 다음 새 데이터로 이미지를 업데이트하려면 호출하는 대신 다음을 시도하십시오. imshow 다시:

B = (modification of the original image matrix A);
set(hImage, 'CData', B);

사용 set 명령은 이미 만든 이미지 객체를 변경합니다 (이미지 개체 속성 목록을 찾을 수 있습니다. 여기).

또는 호출에 추가 매개 변수를 추가 할 수도 있습니다. imshow 이미지를 표시 할 축의 객체를 말하면 다음과 같습니다.

hAxes = (the handle to an axes object);
imshow(A, 'Parent', hAxes);

편집하다:

기능간에 GUI 데이터를 공유하는 추가 문제 해결 MATLAB 문서를 확인해야합니다. 여기. 언급했듯이 GUI와 관련된 다른 기능간에 데이터를 전달하는 몇 가지 방법이 있습니다. 여기), 객체의 'userData'속성 사용 (SO 언급 여기) 또는 함수 사용 setappdata/getappdata 또는 guidata. 그만큼 guidata 가이드에서 GUIS와 함께 사용하는 데 옵션이 가장 좋습니다.

다른 팁

GUI M 파일 함수는 이미지 데이터를 호출되는 변수에 자동으로 할당합니다. hObject. 이미지 변경을 수행 한 후에는 새 데이터를 hObject:

hObject = imshow(newimagedata)

이 작업을 업데이트하고 저장하는 것을 잊지 마십시오.

guidata(hObject, handles)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top