Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

roifilt2

イメージの関心領域 (ROI) のフィルター

説明

J = roifilt2(h,I,BW) は、2 次元線形フィルター h を使用して 2 次元イメージ I 内の関心領域 (ROI) をフィルター処理します。BW は、I にある ROI を定義する I と同じサイズのバイナリ マスクです。roifilt2 は、BW で値が 1 である位置のピクセルにはフィルター処理し、BW で値が 0 である位置のピクセルにはフィルター処理をしないイメージを返します。

J = roifilt2(I,BW,fun) は、関数 fun を使用して I の ROI のデータを処理します。値 fun は、関数ハンドルでなければなりません。

すべて折りたたむ

イメージをワークスペースに読み取ります。

I = imread('eight.tif');

マスクの多角形の頂点を定義します。

c = [222 272 300 270 221 194];
r = [21 21 75 121 121 75];

バイナリ マスク イメージを作成します。

BW = roipoly(I,c,r);

マスク BW で指定されたイメージ I の領域をフィルター処理します。

H = fspecial('unsharp');
J = roifilt2(H,I,BW);

元のイメージとフィルター処理されたイメージを表示します。

imshow(I)

Figure contains an axes object. The axes object contains an object of type image.

figure
imshow(J)

Figure contains an axes object. The axes object contains an object of type image.

入力引数

すべて折りたたむ

線形フィルター。2 次元数値行列として指定します。

データ型: double

イメージ。2 次元数値行列として指定します。

  • フィルター h を指定する場合、I は以下にリストされたいずれかのデータ型を指定できます。

  • 関数ハンドル fun を指定する場合、Ifun でサポートされる任意のクラスです。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

マスク。I と同じサイズで、01 が含まれる 2 次元 logical 行列または 2 次元数値行列として指定します。

データ型: logical

関数ハンドル。ハンドルとして指定します。関数ハンドルの詳細については、関数ハンドルの作成を参照してください。

出力引数

すべて折りたたむ

フィルター処理されたイメージ。2 次元行列として返されます。

  • フィルター h を指定すると、J は、入力イメージ I と同じクラスになります。

  • 関数ハンドル fun を指定した場合は、J のクラスは fun で決定されます。

アルゴリズム

フィルター h を指定すると、roifilt2filter2 を呼び出してフィルターを実装します。

バージョン履歴

R2006a より前に導入