앱의 파일 선택 대화 상자와 알림 대화 상자를 사용하여 이미지 불러오기
이 앱은 파일 선택 대화 상자와 알림 대화 상자를 구성하고 사용하는 방법을 보여줍니다. 이 앱에서는 앱 사용자가 파일 선택 대화 상자를 통해 파일 시스템에서 이미지를 선택할 수 있습니다. 잘못된 파일 형식의 이미지를 선택하면 알림 대화 상자가 알려 줍니다. 이 앱은 선택한 이미지와 더불어 이미지를 구성하는 빨간색, 녹색, 파란색 픽셀에 대한 3개의 히스토그램을 표시합니다.
이 예제에서는 다음과 같은 앱 작성 작업을 수행하는 방법을 보여줍니다.
파일 선택 대화 상자를 사용하여 이미지 불러오기
앱 사용자가 사용자 지정 이미지를 선택할 수 있는 파일 선택 대화 상자를 표시하도록 앱을 프로그래밍합니다. 앱을 실행하고 Load Custom Image 버튼을 클릭하면 파일 선택 대화 상자가 나타납니다.
먼저 Load Custom Image 버튼에 대한 ButtonPushedFcn
콜백을 만듭니다. LoadCustomImageButtonPushed
콜백 함수에서 유효한 입력 파일 형식을 지정하고 uigetfile
함수를 사용하여 대화 상자를 만듭니다.
filterspec = {'*.jpg;*.tif;*.png;*.gif','All Image Files'}; [file,path] = uigetfile(filterspec);
uigetfile
함수의 출력은 불러온 이미지의 파일 이름과 경로를 제공합니다. 전체 경로 이름을 가져옵니다.
imagefile = [path file];
이 전체 경로 이름을 사용하여 이미지를 표시하고 이미지의 빨간색, 녹색, 파란색 픽셀의 히스토그램을 플로팅합니다. 다음 작업을 수행하는 updateImage
라는 새 헬퍼 함수를 만듭니다.
전체 경로 이름을 사용하여 이미지를 읽고 표시합니다.
im = imread(imagefile); imagesc(app.ImageAxes,im);
별도의 좌표축에 세 개의 히스토그램을 플로팅하여 빨간색, 녹색, 파란색 픽셀의 농도를 표시합니다.
histr = histogram(app.RedAxes,im(:,:,1),"FaceColor",[1 0 0],"EdgeColor","none"); histg = histogram(app.GreenAxes,im(:,:,2),"FaceColor",[0 1 0],"EdgeColor","none"); histb = histogram(app.BlueAxes,im(:,:,3),"FaceColor",[0 0 1],"EdgeColor","none");
헬퍼 함수를 만드는 방법에 대한 자세한 내용은 헬퍼 함수를 사용하여 코드 재사용하기 항목을 참조하십시오.
오류 메시지에 대한 앱 내 알림 표시하기
앱 사용자가 유효하지 않은 작업을 수행했을 때 앱 내 오류 메시지를 표시하려면 uialert
를 사용하여 알림 대화 상자를 만드십시오. 예를 들어, 사용자가 지원되지 않는 파일 형식의 이미지를 선택하는 경우 알림 대화 상자를 표시할 수 있습니다. 지원되지 않는 파일 형식의 예외를 처리하려면 updateImage
함수에서 try/catch
명령문을 사용합니다. 먼저 imread
함수를 사용하여 이미지 파일을 읽어옵니다. 파일을 읽는 동안 오류가 발생하면 uialert
를 사용하여 오류 메시지를 표시합니다. UI Figure를 첫 번째 인수로 전달하고 그 뒤에 MATLAB 오류 텍스트로 지정된 메시지 텍스트와 알림 제목을 전달합니다.
try im = imread(imagefile); catch ME % If problem reading image, display error message uialert(app.UIFigure,ME.message,"Image Error"); return; end
앱에서 지원되지 않는 사용자 지정 이미지를 불러오려고 하면 알림 대화 상자가 나타납니다.