ドキュメンテーション

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

mat2gray

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

説明

I = mat2gray(A,[amin amax]) は行列 A を強度イメージ I に変換します。これには 0 (黒) から 1 (白) の範囲の値を含みます。aminamax は、I の 0 と 1 に対応する A の中の値です。amin 未満の値は 0 に、amax を超える値は 1 になります。

オプションで、GPU を使用して演算を実行できます (Parallel Computing Toolbox™ が必要です)。詳細は、GPU での画像処理を参照してください。

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

すべて折りたたむ

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

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

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

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)

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

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

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

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

figure
imshow(K)

入力引数

すべて折りたたむ

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

GPU を使用して計算を実行するには、A を数値行列を含む gpuArray として指定します。

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

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

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

出力引数

すべて折りたたむ

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

GPU を使用して出力強度イメージを計算する場合、B は数値行列を含む gpuArray として返されます。

データ型: double

拡張機能

R2006a より前に導入