rangefilt
イメージの局所的な範囲
説明
例
2 次元イメージ内のオブジェクトの識別
イメージをワークスペースに読み取ります。
I = imread('liftingbody.png');
イメージをフィルター処理します。rangefilt
は、配列を返します。各出力ピクセルには、入力イメージの対応するピクセルの周りにある 3 × 3 の近傍の範囲値 (最大値 - 最小値) が含まれています。
J = rangefilt(I);
元のイメージとフィルター処理されたイメージを並べて表示します。
imshowpair(I,J,'montage')
イメージ内のテクスチャ領域の検出
この例では、テクスチャ フィルター関数を使用してイメージ内のテクスチャの領域を検出する方法を説明します。
イメージをワークスペースに読み取って表示します。図を見ると、背景は滑らかです。つまり、グレー レベルの値の変動がほとんどありません。前景を見ると、コインの表面のでこぼこにテクスチャが見られます。このイメージの前景ピクセルは背景より変動性が高いので、範囲値が高くなります。
I = imread('eight.tif');
imshow(I)
関数 rangefilt
でイメージをフィルター処理して、その結果を表示します。範囲フィルターはコインのエッジとでこぼこが見えるようにします。
K = rangefilt(I); figure imshow(K)
範囲フィルター処理を使用した垂直エッジの識別
イメージをワークスペースに読み取って表示します。
I = imread('circuit.tif');
imshow(I);
近傍を定義します。この例では、近傍は、入力ピクセルの左右のピクセル値の間に大きな差がある場合に大きな値を返します。フィルター処理は、入力ピクセルの上下のピクセルを考慮しません。したがって、この近傍は垂直エッジを強調します。
nhood = [1 1 1];
この近傍を使用して範囲フィルター処理を実行します。比較のために、既定の 3 行 3 列近傍を使用して範囲フィルター処理を実行します。結果を比較します。
J = rangefilt(I,nhood); K = rangefilt(I); figure imshowpair(J,K,'montage'); title('Range filtering using specified neighborhood (left) and default neighborhood (right)');
指定した近傍を使用した結果は、予想どおり、垂直エッジを強調します。それと比較して、既定のフィルターはエッジの方向性には左右されません。
入力引数
I
— フィルター処理されるイメージ
数値配列
フィルター処理されるイメージ。任意の次元の数値配列として指定します。
データ型: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
nhood
— 近傍
true(3)
(既定値) | 0 と 1 を含む logical 配列または数値配列
近傍。0 と 1 を含む logical 配列または数値配列として指定します。nhood
のサイズは各次元で奇数でなければなりません。rangefilt
は、floor((size(nhood) + 1)/2)
で近傍の中心要素を決定します。
円板などの他の形状の近傍を指定するには、関数 strel
を使用して目的の形状の構造化要素オブジェクトを作成します。その後、構造化要素オブジェクトの neighborhood
プロパティから近傍を抽出します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
出力引数
アルゴリズム
rangefilt
は、モルフォロジー関数 imdilate
および imerode
を使用して、指定された近傍での最大値と最小値を決定します。その結果、rangefilt
は、これらのモルフォロジー関数のパディング動作を使用します。
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
rangefilt
では C コードの生成がサポートされています (MATLAB® Coder™ が必要)。詳細については、イメージ処理のコード生成を参照してください。
バージョン履歴
R2006a より前に導入R2023a: C コード生成のサポート
rangefilt
は、C コードの生成をサポートするようになりました (MATLAB Coder が必要)。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)