特定の ROI からバイナリマスクを作成し、0 と 1 のみを含む行列を作成します。論理インデクスを使用した画像とバイナリマスクを使用して、画像の選択部分のみを抜き出します。結果の画像は抽出部分のみが含まれています。
以下にこのプロセスの例を示します。ここでは、Image Processing Toolbox によって提供されているサンプル画像を使用しています。
% 1) ワークスペースの変数として画像ファイルを開く
img = imread('peppers.png');
% 2) 画像を表示し、ハンドルを保存
h_im = imshow(img);
% 3) ROI を定義する楕円を作成
e = imellipse(gca,[55 10 120 120]);
% 4) 楕円からマスクを作成
BW = createMask(e,h_im);
% 4a) (カラー画像のみ) 3つのチャネルにマスクをコピー
BW(:,:,2) = BW;
BW(:,:,3) = BW(:,:,1);
% 5) ROI の外側の領域を設定する論理インデクスを使用
ROI = img;
ROI(BW == 0) = 0;
% 6) 抜き出した部分を表示
figure, imshow(ROI);