ドキュメンテーション

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

imhist

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

構文

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

説明

[counts,binLocations] = imhist(I) はグレースケール イメージ I についてヒストグラムを計算します。関数 imhist は、counts にヒストグラムのカウントを、binLocations にビンの位置を返します。ヒストグラムの中のビン数は、イメージ タイプによって決まります。

オプションで、ヒストグラムのカウントとビンの位置の計算を GPU を使用して実行できます (Parallel Computing Toolbox™ が必要)。詳細は、GPU での画像処理を参照

[counts,binLocations] = imhist(I,n) は、ヒストグラムを計算するために使用されるビンの個数 n を指定します。

[counts,binLocations] = imhist(X,map) はカラーマップ map を使用してインデックス付きイメージ X についてヒストグラムを計算します。ヒストグラムは、カラーマップの中の各エントリを 1 つのビンとします。

GPU では、この構文はサポートされていません。

imhist(___) はヒストグラムのプロットを表示します。入力イメージがインデックス付きイメージの場合、このヒストグラムは、カラーマップ map のカラーバー上でのピクセル値の分布を示します。

IgpuArray のときにこの構文を使用すると、プロットは表示されません。imhist はヒストグラムのカウントを ans に返し、ヒストグラムのビンの位置は返しません。

すべて折りたたむ

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

I = imread('pout.tif');

イメージのヒストグラムを表示します。I はグレースケールのため、既定の設定では、ヒストグラムのビンは 256 個になります。

imhist(I)

3 次元データセットを読み込みます。

load mristack

データのヒストグラムを表示します。このイメージはグレースケールのため、imhist は既定の設定で 256 個のビンを使用します。

imhist(mristack)

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

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

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

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

入力引数

すべて折りたたむ

グレースケール イメージ。任意の次元の数値配列として指定します。

GPU を使用してヒストグラムのカウントとビンの位置を計算するには、I を数値配列を含む gpuArray として指定します。

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

例: I = gpuArray(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

インデックス付きイメージ X と関連付けられたカラーマップ。c 行 3 列の行列として指定します。カラーマップは、少なくとも X の中の最大インデックスと同じ長さでなければなりません。

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

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

出力引数

すべて折りたたむ

ヒストグラムのカウント。数値配列として返されます。インデックス付きイメージ X についてヒストグラムを計算する場合、counts の長さは、カラーマップ map の長さと同じになります。

GPU を使用してヒストグラムを計算する場合、counts は数値配列を含む gpuArray として返されます。

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

GPU を使用してヒストグラムを計算する場合、binLocations は数値配列を含む gpuArray として返されます。

ヒント

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

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

    ここで、x は強度値です。倍率 A とオフセット B は、以下のようにイメージ クラスの型によって異なります。

     doublesingleint8int16int32uint8uint16uint32logical
    A112556553542949672952556553542949672951
    B001283276821474836480000

  • ヒストグラムを countsbinLocations から表示するには、stem(binLocations,counts) コマンドを使用します。

拡張機能

R2006a より前に導入