アプリのファイル選択と警告のダイアログ ボックスを使用したイメージの読み込み
このアプリでは、ファイル選択と警告のダイアログ ボックスを構成および使用する方法を示します。このアプリでは、ファイル選択ダイアログ ボックスを使用して、アプリ ユーザーがファイル システムからイメージを選択できるようにします。無効なファイル タイプのイメージを選択すると、警告ダイアログ ボックスで警告が出されます。アプリでは、選択したイメージと、イメージの赤、緑、青のピクセルの構成を示す 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);
3 つのヒストグラムを別々の座標軸にプロットして、赤、緑、および青のピクセル強度を表示します。
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
アプリがサポートしていないカスタム イメージを読み込もうとすると、警告ダイアログ ボックスが表示されます。