rgb2xyz
RGB を CIE 1931 XYZ に変換
説明
例
RGB から XYZ への変換
イメージと色の値を RGB 色空間から CIE 1931 XYZ 色空間に変換します。
RGB イメージの XYZ への変換
RGB イメージをワークスペースに読み取ります。
RGB = imread('peppers.png');
イメージを XYZ 色空間に変換します。
XYZ = rgb2xyz(RGB);
元のイメージを新しいイメージと並べて表示します。
figure imshowpair(RGB,XYZ,'montage'); title('Image in RGB Color Space (Left) and XYZ Color Space (Right)');
RGB カラー値を XYZ に変換
白の値を RGB 色空間から XYZ 色空間に変換します。RGB の白は、ベクトル [1 1 1] で表されます。
rgb2xyz([1 1 1])
ans = 1×3
0.9505 1.0000 1.0888
基準白色として D50 を使用して RGB カラーを XYZ に変換
XYZ_D50 = rgb2xyz(RGB,'WhitePoint','d50');
最初に出力した XYZ イメージを D50 を基準白色とする XYZ イメージと並べて表示します。
figure imshowpair(XYZ,XYZ_D50,'montage'); title('XYZ Image, Without (Left) and With (Right) Reference White');
Adobe RGB (1998) カラーの XYZ への変換
XYZ_Adobe = rgb2xyz(RGB,'ColorSpace','adobe-rgb-1998');
既定の RGB 色空間と Adobe RGB (1998) 色空間から生成された XYZ イメージを表示します。
figure imshowpair(XYZ,XYZ_Adobe,'montage'); title(['XYZ Image, Starting From Default RGB (Left) and Adobe RGB ',... '(Right) Color Space']);
入力引数
RGB
— RGB カラー値
数値配列
変換する RGB カラー値。次のいずれかの形式の数値配列として指定します。
c 行 3 列のカラーマップ。各行が 1 つの RGB の色の値を指定します。
m x n x 3 のイメージ
m × n × 3 × p のイメージのスタック
データ型: single
| double
| uint8
| uint16
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: xyz = rgb2xyz([.2 .3 .4],WhitePoint="d50")
R2021a より前では、コンマを使用して名前と値の各ペアを区切り、Name
を引用符で囲みます。
例: xyz = rgb2xyz([.2 .3 .4],"WhitePoint","d50")
ColorSpace
— 入力 RGB 値の色空間
"srgb"
(既定値) | "adobe-rgb-1998"
| "prophoto-rgb"
| "linear-rgb"
入力 RGB 値の色空間。"srgb"
、"adobe-rgb-1998"
、"prophoto-rgb"
、または "linear-rgb"
を指定します。"linear-rgb"
を指定した場合、rgb2xyz
では、入力 RGB 値が線形化された sRGB 値であると仮定します。
データ型: string
| char
WhitePoint
— 基準白色点
"d65"
(既定値) | "a"
| "c"
| "e"
| "d50"
| "d55"
| "icc"
| 1 行 3 列のベクトル
基準白色点。1 行 3 列のベクトルまたは次の表の CIE 標準光源のいずれかとして指定します。
値 | 白色点 |
---|---|
"a" | CIE 標準光源 A |
"c" | CIE 標準光源 C [0.9807, 1.0000, 1.1822] 。相関色温度 6774 K で平均天空または北空の昼光をシミュレートしたものです。CIE では推奨されていません。 |
"e" | 等エネルギー放射体、[1.000, 1.000, 1.000] 。理論的参照値として有用。 |
"d50" | CIE 標準光源 D50 [0.9642, 1.0000, 0.8251] 。相関色温度 5003 K で日の出または日没時の暖か味のある昼光をシミュレートしたものです。"地平光" とも呼ばれます。 |
| CIE 標準光源 D55 |
"d65" | CIE 標準光源 D65 [0.9504, 1.0000, 1.0888] 。相関色温度 6504 K で正午の昼光をシミュレートしたものです。 |
"icc" | ICC プロファイルで使用される PCS (プロファイル接続空間) の輝度。小数ビットが 16 ビットの 32 ビット符号付き固定小数点数による [0.9642, 1.000, 0.8249] の近似。実際の値: [31595,32768, 27030]/32768 。 |
データ型: single
| double
| string
| char
出力引数
XYZ
— 変換後の XYZ の色の値
数値配列
変換後の XYZ の色の値。入力と同じサイズの数値配列として返されます。出力の型は、入力の型が single
の場合には single
クラス、 そうでない場合には double
クラスになります。
ヒント
入力 RGB 色空間を
"linear-rgb"
に指定した場合、rgb2xyz
は、入力値が線形化された sRGB 値であると仮定します。代わりに、入力色空間を線形化された Adobe RGB (1998) にする場合は、関数lin2rgb
を使用できます。たとえば、線形化された Adobe RGB (1998) イメージ
RGBlinadobe
を CIE 1931 XYZ 色空間に変換するには、変換を次の 2 つのステップで実行します。RGBadobe = lin2rgb(RGBlinadobe,"ColorSpace","adobe-rgb-1998"); XYZ = rgb2xyz(RGBadobe,"ColorSpace","adobe-rgb-1998");
バージョン履歴
R2014b で導入R2022b: ProPhoto (ROMM RGB) 色空間のサポート
rgb2xyz
は、sRGB 色空間や Adobe RGB 1998 色空間よりも色域の広い ProPhoto (ROMM RGB) 色空間をサポートするようになりました。ProPhoto 色空間を使用するには、名前と値の引数 ColorSpace
を "prophoto-rgb"
として指定します。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)