このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
applylut
ルックアップ テーブルを使用したバイナリ イメージの近傍演算
applylut
は推奨されません。代わりに bwlookup
を使用してください。
説明
例
2 行 2 列近傍を使用した収縮の実行
ルックアップ テーブルを作成します。
lutfun = @(x)(sum(x(:))==4); lut = makelut(lutfun,2);
イメージをワークスペースに読み取って、ルックアップ テーブルをイメージに適用します。出力ピクセルは、4 つの入力ピクセルの近傍ピクセルすべてが on
となる場合にのみ、on
となります。
BW1 = imread("text.png");
BW2 = applylut(BW1,lut);
元のイメージと収縮されたイメージを表示します。
imshow(BW1)
imshow(BW2)
入力引数
BW
— 入力イメージ
2 次元バイナリ イメージ
入力イメージ。2 次元バイナリ イメージとして指定します。数値入力の場合、非ゼロのピクセルは 1
(true
) であると見なされます。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
lut
— 出力ピクセル値のルックアップ テーブル
16 要素の数値ベクトル | 512 要素の数値ベクトル
出力ピクセル値のルックアップ テーブル。makelut
によって返される 16 要素または 512 要素のベクトルとして指定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
出力引数
A
— 出力イメージ
バイナリ イメージ | グレースケール イメージ
出力イメージ。ピクセル値の分布がルックアップ テーブル lut
の内容によって決まるグレースケール イメージまたはバイナリ イメージとして返されます。出力イメージ J
は入力イメージ I
と同じサイズです。
lut
のすべての要素が0
または1
の場合、A
のデータ型はlogical
となります。lut
のすべての要素が 0 ~ 255 の整数の場合、A
のデータ型はuint8
となります。これ以外の場合、
A
のデータ型はdouble
となります。
データ型: double
| uint8
| logical
アルゴリズム
applylut
は、インデックスの配列を lut
に生成してそのインデックスを lut
の実際値に置き換えることにより、バイナリ イメージに対して近傍演算を実行します。使用する特定のアルゴリズムは、2 行 2 列と 3 行 3 列のどちらの近傍を使用するかによって決まります。
2 行 2 列近傍
2 行 2 列近傍の場合、length(lut)
は 16 となります。各近傍には 4 つのピクセルがあり、また、各ピクセルには 2 つの取りうる状態があります。よって、順列の合計は 24 = 16 となります。
インデックス行列を生成するため、applylut
は、バイナリ イメージ BW
とこの行列を畳み込みます。
8 2 4 1
得られる畳み込みには、[0, 15] の範囲の整数値が含まれています。applylut
は、BW
と同じサイズの畳み込みの中心部分を使用し、各値に 1 を追加して範囲を [1, 16] にシフトします。その後、関数は、インデックス行列のセル内の値をインデックスが示す lut
内の値に置き換えることで A
を構築します。
3 行 3 列近傍
3 行 3 列近傍の場合、length(lut)
は 512 となります。各近傍には 9 つのピクセルがあり、また、各ピクセルには 2 つの取りうる状態があります。よって、順列の合計は 29 = 512 となります。
インデックス行列を生成するため、applylut
は、バイナリ イメージ BW
とこの行列を畳み込みます。
256 32 4 128 16 2 64 8 1
得られる畳み込みには、[0, 511] の範囲の整数値が含まれています。applylut
は、BW
と同じサイズの畳み込みの中心部分を使用し、各値に 1 を追加して範囲を [1, 512] にシフトします。そして、インデックス行列のセル内の値をインデックスが示す lut
内の値に置き換えることで A
を構築します。
バージョン履歴
R2006a より前に導入参考
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)