ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

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
imshow(J)

入力引数

すべて折りたたむ

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

データ型: double

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

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

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

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

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

データ型: logical

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

出力引数

すべて折りたたむ

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

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

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

アルゴリズム

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

R2006a より前に導入