Main Content

アプリのファイル選択と警告のダイアログ ボックスを使用したイメージの読み込み

このアプリでは、ファイル選択と警告のダイアログ ボックスを構成および使用する方法を示します。このアプリでは、ファイル選択ダイアログ ボックスを使用して、アプリ ユーザーがファイル システムからイメージを選択できるようにします。無効なファイル タイプのイメージを選択すると、警告ダイアログ ボックスで警告が出されます。アプリでは、選択したイメージと、イメージの赤、緑、青のピクセルの構成を示す 3 つのヒストグラムが表示されます。

この例では、次のアプリ作成タスクを示します。

  • イメージを読み取って表示する。

  • 関数uigetfileを使用してユーザー ファイル システムを参照する。

  • 無効な入力 (この場合はサポートされていないイメージ ファイル) に対して、関数uialertを使用してアプリ内警告を表示する。

  • ヒストグラムを使用してイメージ データをプロットする。

ファイル選択ダイアログ ボックスを使用したイメージの読み込み

アプリ ユーザーがカスタム イメージを選択するファイル選択ダイアログ ボックスを表示するようにアプリをプログラムします。アプリを実行し、[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 を使用して警告ダイアログ ボックスを作成します。たとえば、ユーザーがサポートされていないファイル タイプのイメージを選択したときに警告ダイアログ ボックスを表示します。関数 updateImagetry/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

アプリがサポートしていないカスタム イメージを読み込もうとすると、警告ダイアログ ボックスが表示されます。

参考

関数

プロパティ

関連するトピック