ドキュメンテーション

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

imhist

イメージ データのヒストグラム

構文

imhist(I)
imhist(I,n)
imhist(X,map)
[counts,binLocations] = imhist(I)
[counts,binLocations] = imhist(gpuarrayI,___)

説明

imhist(I) は強度イメージ I のヒストグラムを計算し、このヒストグラムのプロットを表示します。ヒストグラムの中のビン数は、イメージ タイプによって決まります。

imhist(I,n) はヒストグラムを計算します。ここで、n はヒストグラムで使用するビンの数を指定します。また、n はヒストグラム プロットの下部に表示されるカラーバーの長さも指定します。

imhist(X,map) は、インデックス付きイメージ X のヒストグラムを表示します。このヒストグラムは、カラーマップ map のカラーバー上でのピクセル値の分布を示します。カラーマップは、少なくとも X の中の最大インデックスと同じ長さでなければなりません。ヒストグラムは、カラーマップの中の各エントリを 1 つのビンとします。

[counts,binLocations] = imhist(I) は、引数 counts にヒストグラムのカウントを、binLocations にビンの位置を返します。これらの値は、関数stem(binLocations,counts) を使用して、ヒストグラムを表示できます。インデックス付きイメージの場合は、imhist は、各カラーマップ エントリのヒストグラムのカウントを返します。counts の長さはカラーマップの長さと同じです。

[counts,binLocations] = imhist(gpuarrayI,___) は GPU でヒストグラム計算を実行します。入力イメージと戻り値は gpuArray です。この構文では Parallel Computing Toolbox™ が必要です。入力イメージが gpuArray の場合は、imhist はヒストグラムを自動的に表示しません。ヒストグラムを表示するには、stem(binLocations,counts) を使用します。

コード生成 サポート: あり。

MATLAB Function ブロック サポート: あり。

すべて折りたたむ

I = imread('pout.tif');
imhist(I)

uint16 クラスの配列を作成します。

I = gpuArray(imread('pout.tif'));

ヒストグラムを計算します。imhist は、GPU で実行した場合はヒストグラムのプロットを自動的に表示しないため、この例では stem を使用してヒストグラムをプロットします。

[counts,x] = imhist(I);
stem(x,counts);

入力引数

すべて折りたたむ

入力強度イメージ。数値配列として指定します。

例: I = imread('cameraman.tif’);

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

ビンの数。数値スカラーとして指定します。I がグレースケール イメージの場合、imhist は既定値として 256 個のビンを使用します。I がバイナリ イメージの場合、imhist は 2 つのビンを使用します。

例: [counts,x] = imhist(I,50);

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

入力インデックス付きイメージ。数値配列として指定します。

例: [X,map] = imread('trees.tif’);

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

インデックス付きイメージと関連付けられたカラーマップ。p 行 3 列の配列として指定します。

例: [X,map] = imread('trees.tif’);

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

入力イメージ。gpuArray として指定します。

例: gpuarrayI = gpuArray(imread('cameraman.tif’));

出力引数

すべて折りたたむ

ヒストグラムのカウント。数値配列として返されます。

ビンの位置。数値配列として返されます。

詳細

すべて折りたたむ

コード生成

この関数では MATLAB® Coder™ を使用した C コードの生成がサポートされています。汎用の MATLAB Host Computer ターゲット プラットフォームを選択した場合、プリコンパイルされたプラットフォーム固有の共有ライブラリを使用するコードが、この関数によって生成されます。共有ライブラリを使用するとパフォーマンスの最適化は維持されますが、コードを生成できるターゲット プラットフォームが限定されます。詳細は、「Image Processing Toolbox のコード生成について」を参照してください。

コード生成時には、以下の点に注意してください。

  • 最初の入力がバイナリ イメージの場合、n はコンパイル時の値が 2 のスカラー定数でなければなりません。

  • 非プログラム構文はサポートされません。たとえば、構文 imhist(I) では、imhist はヒストグラムを表示するため、この構文はサポートされていません。

MATLAB Function ブロック

この関数は Simulink の MATLAB Function ブロックで使用できます。

入力引数 n はコンパイル時の定数でなければなりません。

ヒント

  • 強度イメージについて、ヒストグラムの n 個のビンは、それぞれ幅 A/(n−1) の半開区間になります。特に、int16 ではない強度イメージでは、p 番目のビンは次の幅の半開区間となります。

    A(p1.5)(n1)x<A(p0.5)(n1),

    ここで、x は強度値です。int16 強度イメージの場合、p 番目のビンの半開区間は、次のようになります。

    A(p1.5)(n1)Bx<A(p0.5)(n1)B,

    ここで、x は強度値です。スケール係数 A はイメージ クラスに依存します。強度イメージが double または single の場合は、A は 1 になります。また、強度イメージが uint8 の場合は、A は 255 になります。強度イメージが uint16 または int16 の場合は、A は 65535 になります。

R2006a より前に導入

この情報は役に立ちましたか?