Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

適応ヒストグラム均等化

関数 histeq の別な使い方として、関数 adapthisteq を使用してコントラストに制限を付けた適応ヒストグラム均等化 (CLAHE) を行うことができます。histeq はイメージ全体に作用する一方、adapthisteq "タイル" と呼ばれる小領域に作用します。adapthisteq は各タイルのコントラストを強調するため、出力領域のヒストグラムは指定されたヒストグラムにほぼ一致します。均等化を行った後、adapthisteq は、人為的に出現した境界を消すため、双一次内挿を使用して、隣接タイルを連結します。

イメージ内にノイズがあった場合に、それが増幅されるのを避けるために、adapthisteq のオプション パラメーターを使用して、コントラストに範囲を設定します。特に、均一領域で有効です。

適応ヒストグラム均等化を使用したコントラストの調整

この例では、CLAHE を使用してイメージ内のコントラストを調整する方法を説明します。

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

I = imread('pout.tif');

元のイメージとヒストグラムを表示します。

figure
subplot(1,2,1)
imshow(I)
subplot(1,2,2)
imhist(I,64)

Figure contains 3 axes. Axes 1 contains an object of type stem. Axes 2 contains 2 objects of type image, line. Axes 3 contains an object of type image.

適応ヒストグラム均等化を使用してイメージのコントラストを調整します。

J = adapthisteq(I);

コントラストが調整されたイメージとそのヒストグラムを表示します。

figure
subplot(1,2,1)
imshow(J)
subplot(1,2,2)
imhist(J,64)

Figure contains 3 axes. Axes 1 contains an object of type stem. Axes 2 contains 2 objects of type image, line. Axes 3 contains an object of type image.

関連するトピック