Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

mat2gray

行列をグレースケール イメージに変換

説明

I = mat2gray(A,[amin amax]) は行列 A をグレースケール イメージ I に変換します。これには 0 (黒) から 1 (白) の範囲の値を含みます。aminamax は、I の 0 と 1 に対応する A の中の値です。amin 未満の値は 0 にクリップされ、amax を超える値は 1 にクリップされます。

I = mat2gray(A) は、aminamax の値を A の最小値と最大値に設定します。

すべて折りたたむ

イメージを読み取り、それを表示します。

I = imread('rice.png');
figure
imshow(I)

Figure contains an axes object. The axes object contains an object of type image.

数値行列を返す演算を実行します。この演算はエッジを探します。

J = filter2(fspecial('sobel'),I);
min_matrix = min(J(:))
min_matrix = -779
max_matrix = max(J(:))
max_matrix = 560

負の値を含む範囲 [0,1] 以外の値を持つデータ型 double が行列にあります。

演算の結果を表示します。行列のデータ範囲が既定の表示範囲 imshow から外れているため、正の値を持つすべてのピクセルは白で表示され、負またはゼロの値を持つピクセルはすべて黒で表示されます。米粒のエッジを確認するのは困難です。

figure
imshow(J)

Figure contains an axes object. The axes object contains an object of type image.

行列をイメージに変換します。イメージの最大値と最小値を表示します。

K = mat2gray(J);
min_image = min(K(:))
min_image = 0
max_image = max(K(:))
max_image = 1

値のデータ型は引き続き double ですが、すべての値は [0, 1] の範囲であることに注意してください。

変換結果を表示します。ピクセルがグレースケールの色の範囲を示し、エッジの位置がより明確になります。

figure
imshow(K)

Figure contains an axes object. The axes object contains an object of type image.

入力引数

すべて折りたたむ

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

黒と白の入力値。2 要素数値ベクトルとして指定します。

  • 入力イメージ A にある、amin 以下の値は、強度イメージ I で値 0 にマップされます。

  • A にある、amax 以上の値は、I で値 1 にマップされます。

出力引数

すべて折りたたむ

出力強度イメージ。範囲 [0, 1] の値がある数値行列として返されます。

データ型: double

拡張機能

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

バージョン履歴

R2006a より前に導入

すべて展開する