Main Content

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

imhistmatchn

参照イメージのヒストグラムと一致させるために N 次元イメージのヒストグラムを調整

説明

B = imhistmatchn(A,ref) は、N 次元グレースケール イメージ A を変換して、ヒストグラムが参照イメージ ref のヒストグラムにほぼ一致する出力イメージ B を返します。Aref はいずれもグレースケール イメージでなければなりませんが、データ型、サイズ、次元数を同じにする必要はありません。

B = imhistmatchn(A,ref,nbins) は、指定されたイメージ データ型の適切な範囲内で、nbins 個の等間隔のビンを使用します。返されるイメージ B がもつ離散レベルは最大で nbins までとなります。

イメージのデータ型:

  • single または double の場合、ヒストグラムの範囲は [0, 1] です。

  • uint8 の場合、ヒストグラムの範囲は [0, 255] です。

  • uint16 の場合、ヒストグラムの範囲は [0, 65535] です。

  • int16 の場合、ヒストグラムの範囲は [-32768, 32767] です。

[B,hgram]= imhistmatchn(___) は、マッチングに使用された参照イメージ ref のヒストグラムを hgram に返します。hgram は 1 行 nbins 列のベクトルです。ここで、nbins はヒストグラムのビン数です。

すべて折りたたむ

N 次元グレースケール イメージをワークスペースに読み込みます。また、参照ヒストグラムを提供するグレースケール イメージも読み込みます。

load mri D
load mristack

元のボリュームをスライスとして表示します。

figure
montage(D,'DisplayRange',[])
title('Original 3-D Image')

表示用に参照の形状を変更してグレースケール スライスのスタックにします。

ref = reshape(mristack,[256,256,1,21]);

参照ボリュームをスライスとして表示します。画面に適切に表示するため、imresize を使用して、参照ボリュームを 0.5 の係数で縮小します。

ref_downsized = imresize(ref,0.5);
figure
montage(ref_downsized,'DisplayRange',[])
title('Reference 3-D Image')

D のヒストグラムを原寸大の ref のヒストグラムとマッチングさせます。

Dmatched = imhistmatchn(D,ref);

出力を表示します。出力の輝度レベルは、元のイメージよりも参照イメージに一致していることがわかります。

figure
montage(Dmatched,'DisplayRange',[])
title('Histogram Matched MRI')

入力引数

すべて折りたたむ

変換対象の入力イメージ。N 次元グレースケール イメージとして指定します。

データ型: single | double | int16 | uint8 | uint16

参照ヒストグラムとなるヒストグラムをもつ参照イメージ。グレースケール イメージとして指定します。参照イメージは、出力イメージ B を適合させようとする等間隔の nbins ビン参照ヒストグラムを提供します。

データ型: single | double | int16 | uint8 | uint16

参照ヒストグラム内の等間隔のビンの数。正の整数として指定します。nbins は、出力イメージ B 内にある離散データ レベル数の上限も表します。

データ型: double

出力引数

すべて折りたたむ

N 次元グレースケール イメージとして返される出力イメージです。出力イメージはイメージ A から導出され、そのヒストグラムは、nbins 個の等間隔のビンで作成された入力イメージ ref のヒストグラムとほぼ一致します。イメージ B のサイズとデータ型は、入力イメージ A と同じです。入力引数 nbins は、イメージ B に含まれる離散レベル数の上限を表します。

データ型: single | double | int16 | uint8 | uint16

参照イメージ ref から導出されるヒストグラム カウントは、1 行 nbins 列のベクトルとして返されます。

データ型: double

R2017a で導入