이미지를 표시하기위한 두 개의 축이있는 하나의 MATLAB GUI를 설계했습니다. 나는 'imcontrast'함수를 사용하여 첫 번째 축의 이미지 밝기/대비를 조정합니다. 이제이 향상된 출력 (밝기/대비 조정 출력)을 일부 변수에 저장하려고합니다. 'imcontrast'함수는 출력 이미지를 반환하지 않으므로 어떻게 출력 이미지를 얻을 수 있습니까? 또는 특정 축에서 이미지 데이터를 읽을 수있는 방법이 있습니까? 나는 'getimage'함수로 시도했지만 Handle Graphics 객체 (즉, 이전에 표시된 입력 이미지)에 포함 된 첫 번째 이미지 데이터를 반환하고 최신 밝기/대비 조정 이미지는 반환하지 않습니다. 'imcontrast'기능으로 밝기/대비 조정 이미지를 저장하는 데 도움주세요.MATLAB GUI의 특정 축에서 이미지 데이터를 읽는 방법은 무엇입니까?
1
A
답변
1
사용이 - 그냥 사용하는 방법을 소개하는 GUI
내에서 사용하는 방법, 당신은 MATLAB - 가이드와 그것의 푸시 버튼을 만들 수 있습니다
imcontrast(gca) %// Perform imcontrast
waitfor(gcf); %// Wait for figure data to be updated with imcontrast
image_data = getimage(gcf);%// Store image data as image_data variable
는 콜백 함수 사용의 이 -
%// Show the image on an existing image axes of the GUI.
imshow('pout.tif') %// This image is available in MATLAB image library.
imc_figure = imcontrast(gca) %// Perform imcontrast
waitfor(imc_figure); %// Wait for the data to be updated in the current figure
image_data = getimage(gcf);%// image data stored into image_data variable
%// Open image_data on a separate figure window for verification.
%// Make sure this is the updated image.
figure,imshow(image_data)
어떻게 독립 코드로 사용하는
Im = imread('cameraman.tif');%// This image is available in MATLAB image library.
h1 = imshow(Im)
h2 = imcontrast(gca); %// Perform imcontrast
waitfor(h2); %// Wait for figure data to be updated with imcontrast
image_data = getimage(gcf);%// Store modified image data
%// Show modified image data for verification
figure,imshow(image_data)
나를 도와 주셔서 감사합니다. 하지만, 작동하지 않습니다. waitfor (gcf)를 추가 한 후에도 (제안한대로) getimage는 여전히 이전에 표시된 입력 이미지를 반환합니다. 다른 대안으로 도와주세요. – Vikrant
@Vikrant 잘 작동 했으니 다시 시도 할 수 있었습니까? MATLAB을 닫고 GUI를 다시 시작 하시겠습니까? – Divakar
나는 MATLAB을 다시 시작하려고 시도하고 또한이 몇 줄을 별도의 MATLAB 파일에 작성하여 시도했다. Im = imread ('cameraman.tif'); imshow (임); imcontrast (gca); % // imcontrast 수행 waitfor (gcf); % // imcontrast로 그림 데이터가 업데이트 될 때까지 기다립니다. image_data = getimage (gcf); % // 이미지 데이터를 image_data 변수로 저장합니다. imshow (image_data); 그러나 image_data 변수에 빈 행렬을 반환합니다. 나는 콘트라스트를 조정하고 콘트라스트가 실행될 때 나타나는 '콘트라스트 조정'창을 닫았습니다. '데이터 조정'창에서 데이터 조정을 클릭했지만 시도하지 못했습니다. – Vikrant