MATLAB ヘルプ センター
グレースケール イメージの関心領域 (ROI) のフィルター
J = roifilt2(h,I,BW)
J = roifilt2(I,BW,fun)
J = roifilt2(h,I,BW) は、2 次元線形フィルター h を使用して 2 次元グレースケール イメージ I 内の関心領域 (ROI) をフィルター処理します。バイナリ マスク BW は、I 内の ROI を定義します。roifilt2 は、BW に 1 が格納されている場所のピクセルについてはフィルター処理された値、加えて BW に 0 が格納されている場所のピクセルについてはフィルター処理されていない値で構成されるイメージを返します。
J
h
I
BW
roifilt2
1
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)
imshow(J)
線形フィルター。2 次元数値行列として指定します。
データ型: double
double
グレースケール イメージ。2 次元数値行列として指定します。
フィルター h を指定する場合、I は以下にリストされたいずれかのデータ型を指定できます。
関数ハンドル fun を指定する場合、I は fun でサポートされる任意のデータ型です。
データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical
single
int8
int16
int32
uint8
uint16
uint32
logical
マスク。I と同じサイズの 2 次元 logical 行列または 2 次元数値行列として指定します。数値入力の場合、非ゼロのピクセルは 1 (true) であると見なされます。
true
関数ハンドル。ハンドルとして指定します。関数ハンドルの詳細については、関数ハンドルの作成を参照してください。
フィルター処理されたイメージ。2 次元行列として返されます。
フィルター h を指定すると、J は、入力イメージ I と同じデータ型になります。
関数ハンドル fun を指定した場合は、J のデータ型は fun で決定されます。
フィルター h を指定すると、roifilt2 は imfilter を呼び出してフィルターを実装します。
imfilter
すべて展開する
使用上の注意および制限:
roifilt2 では C コードの生成がサポートされています (MATLAB® Coder™ が必要)。汎用の MATLAB Host Computer ターゲット プラットフォームを選択した場合、プリコンパイルされたプラットフォーム固有の共有ライブラリを使用するコードが、roifilt2 によって生成されます。共有ライブラリを使用するとパフォーマンスの最適化は維持されますが、コードを生成できるターゲット プラットフォームが限定されます。詳細については、Image Processing Toolbox でサポートされているコード生成のタイプを参照してください。
MATLAB Host Computer
関数 coder を使用し、fun を引数としてコードを生成する場合は、string 定数または文字ベクトルとして fun を指定します。たとえば、関数 adaptthresh を使用する場合、fun を string "adaptthresh" として指定し、関数 coder.Constant を使用してこの string を定数に変換します。
coder
adaptthresh
"adaptthresh"
coder.Constant
codegen roifilt2 -args {I,BW,coder.Constant("adaptthresh")}
ラッパー関数のコードを生成する場合、fun にはラッパー関数内の関数ハンドルを指定できます。たとえば、次のコマンドは、myFunction という名前のラッパー関数のコードを生成します。
myFunction
codegen myFunction -args {I,BW,coder.Constant("adaptthresh")}
以下は、関数 roifilt2 への呼び出しを含むラッパー関数 myFunction の定義の例です。このラッパー関数では、関数 str2func を使用して fun が string 定数から関数ハンドルに変換されています。
str2func
function out = myFunction(I,BW,fun) %#codegen fun1 = str2func(fun); % This will become fun1 = @adaptthresh out = roifilt2(I,BW,fun1); end
roifilt2 は、C コードの生成をサポートするようになりました (MATLAB Coder が必要)。
imfilter | filter2 | roipoly
filter2
roipoly
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ