ドキュメンテーション

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

roifilt2

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

構文

J = roifilt2(h, I, BW)
J = roifilt2(I, BW, fun)

説明

J = roifilt2(h, I, BW) は、2 次元線形フィルター h を使用して I 内のデータをフィルター処理します。BW は、フィルターのマスクとして使用される ROI を定義する I と同じサイズのバイナリ イメージです。roifilt2 は、BW が 1 を含む位置にピクセルのフィルター処理された値から構成されるイメージと、0 を含む BW 位置のピクセルのフィルター未処理の値を返します。この構文で、roifilt2filter2 を呼び出してフィルターを実装します。

J = roifilt2(I, BW, fun) は、関数 fun を使用して I のデータを処理します。結果の J には、BW が 1 を含む位置のピクセルに対して計算された値と、BW が 0 を含む位置のピクセルに対する I の実際の値が含まれます。fun は関数ハンドルでなければなりません。『MATLAB 数学』ドキュメンテーションの関数のパラメーター化では、関数 fun に追加のパラメーターを指定する方法を説明しています。

クラス サポート

フィルター h を含む構文の場合、入力イメージは数値または論理を指定でき、出力配列 J は入力イメージと同じクラスです。関数を含む構文の場合、I には、fun によってサポートされる任意のクラスを指定でき、J のクラスは fun からの出力のクラスによって異なります。

この例では、roipoly の例を引き続き示し、マスク BW によって指定されたイメージ I の領域をフィルター処理します。関数 roifilt2 は次の Figure に示されるようにフィルター処理されたイメージ J を返します。

多角形マスクを使用したイメージのフィルター処理

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

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)

R2006a より前に導入

この情報は役に立ちましたか?