Color Space Conversion
イメージの色空間の変換

ライブラリ:
Computer Vision Toolbox /
Conversions
説明
Color Space Conversion ブロックは色空間の間で色情報を変換します。[変換] パラメーターを使用して、変換を行う色空間を指定します。
端子
入力
Port_1 — 入力イメージ
配列
入力イメージ。M×N×C の配列として指定します。ここで、C は入力イメージのカラー チャネルの数です。
データ型: single
| double
| uint8
R' — イメージの赤色成分
行列
イメージの赤色成分。M 行 N 列の行列として指定します。
メモ
R'、G'、および B' 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを次のいずれかのオプションに設定します。
R'G'B' to Y'CbCr
R'G'B' to intensity
R'G'B' to HSV
sR'G'B' to XYZ
sR'G'B' to L*a*b*
データ型: single
| double
| uint8
G' — イメージの緑色成分
行列
イメージの緑色成分。M 行 N 列の行列として指定します。
メモ
R'、G'、および B' 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを次のいずれかのオプションに設定します。
R'G'B' to Y'CbCr
R'G'B' to intensity
R'G'B' to HSV
sR'G'B' to XYZ
sR'G'B' to L*a*b*
データ型: single
| double
| uint8
B' — イメージの青色成分
行列
イメージの青色成分。M 行 N 列の行列として指定します。
メモ
R'、G'、および B' 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを次のいずれかのオプションに設定します。
R'G'B' to Y'CbCr
R'G'B' to intensity
R'G'B' to HSV
sR'G'B' to XYZ
sR'G'B' to L*a*b*
データ型: single
| double
| uint8
Y' — イメージの輝度成分
行列
イメージの輝度成分。M 行 N 列の行列として指定します。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [Y'CbCr to R'G'B']
に設定します。
データ型: single
| double
| uint8
Cb — イメージの青-色差クロマ成分
行列
イメージの青-色差クロマ成分。M 行 D 列の行列として指定します。ここで、D はイメージ幅の半分です。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [Y'CbCr to R'G'B']
に設定します。
データ型: single
| double
| uint8
Cr — イメージの赤-色差クロマ成分
行列
イメージの赤-色差クロマ成分。M 行 D 列の行列として指定します。ここで、D はイメージ幅の半分です。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [Y'CbCr to R'G'B']
に設定します。
データ型: single
| double
| uint8
H — イメージの色相成分
行列
イメージの色相成分。M 行 N 列の行列として指定します。
メモ
H、S、および V 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [HSV to R'G'B']
に設定します。
データ型: single
| double
S — イメージの彩度成分
行列
イメージの彩度成分。M 行 N 列の行列として指定します。
メモ
H、S、および V 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [HSV to R'G'B']
に設定します。
データ型: single
| double
V — イメージの明度成分
行列
イメージの明度成分。M 行 N 列の行列として指定します。
メモ
H、S、および V 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [HSV to R'G'B']
に設定します。
データ型: single
| double
X — イメージの X 成分
行列
イメージの X 成分。M 行 N 列の行列として指定します。
メモ
X、Y、および Z 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [XYZ to sR'G'B']
に設定します。
データ型: single
| double
Y — イメージの Y 成分
行列
イメージの Y 成分。M 行 N 列の行列として指定します。
メモ
X、Y、および Z 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [XYZ to sR'G'B']
に設定します。
データ型: single
| double
Z — イメージの Z 成分
行列
イメージの Z 成分。M 行 N 列の行列として指定します。
メモ
X、Y、および Z 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [XYZ to sR'G'B']
に設定します。
データ型: single
| double
L* — イメージの明るさ成分
行列
イメージの明るさ成分。M 行 N 列の行列として指定します。
メモ
L*、a*、および b* 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [L*a*b* to sR'G'B']
に設定します。
データ型: single
| double
a* — イメージの赤-緑成分
M 行 N 列の行列
イメージの赤-緑成分。M 行 N 列の行列として指定します。
メモ
L*、a*、および b* 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [L*a*b* to sR'G'B']
に設定します。
データ型: single
| double
b* — イメージの黄-青成分
M 行 N 列の行列
イメージの黄-青成分。M 行 N 列の行列として指定します。
メモ
L*、a*、および b* 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [L*a*b* to sR'G'B']
に設定します。
データ型: single
| double
出力
Port_1 — 出力イメージ
配列
出力イメージ。M×N×P の配列として返されます。ここで、P は出力イメージのカラー チャネルの数です。Y'CbCr 出力の場合、Y 成分の値の範囲は Cb 成分や Cr 成分の値の範囲と異なります。
入力が
uint8
の場合、Y'CbCr はuint8
です。Y'
の範囲は[16, 235]
、Cb
とCr
の範囲は[16, 240]
です。入力が
double
の場合、Y'CbCr
はdouble
です。Y'
の範囲は[16/255, 235/255]
、Cb
とCr
の範囲は[16/255, 240/255]
です。
データ型: single
| double
| int8
| uint8
R' — イメージの赤色成分
行列
イメージの赤色成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを次のいずれかのオプションに設定します。
Y'CbCr to R'G'B'
HSV to R'G'B'
XYZ to sR'G'B'
L*a*b* to sR'G'B'
.
データ型: single
| double
| int8
| uint8
G' — イメージの緑色成分
行列
イメージの緑色成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを次のいずれかのオプションに設定します。
Y'CbCr to R'G'B'
HSV to R'G'B'
XYZ to sR'G'B'
L*a*b* to sR'G'B'
データ型: single
| double
| int8
| uint8
B' — イメージの青色成分
行列
イメージの青色成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを次のいずれかのオプションに設定します。
Y'CbCr to R'G'B'
HSV to R'G'B'
XYZ to sR'G'B'
L*a*b* to sR'G'B'
.
データ型: single
| double
| int8
| uint8
Y' — イメージの輝度成分
行列
イメージの輝度成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [R'G'B' to Y'CbCr]
に設定します。
データ型: single
| double
| int8
| uint8
Cb — イメージの青-色差クロマ成分
行列
イメージの青-色差クロマ成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [R'G'B' to Y'CbCr]
に設定します。
データ型: single
| double
| int8
| uint8
Cr — イメージの赤-色差クロマ成分
行列
イメージの赤-色差クロマ成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [R'G'B' to Y'CbCr]
に設定します。
データ型: single
| double
| int8
| uint8
I' — 強度イメージ
行列
強度イメージ。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [R'G'B' to intensity]
に設定します。
データ型: single
| double
| int8
| uint8
H — イメージの色相成分
行列
イメージの色相成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [R'G'B' to HSV]
に設定します。
データ型: single
| double
S — イメージの彩度成分
行列
イメージの彩度成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [R'G'B' to HSV]
に設定します。
データ型: single
| double
V — イメージの明度成分
行列
イメージの明度成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [R'G'B' to HSV]
に設定します。
データ型: single
| double
X — イメージの X 成分
行列
イメージの X 成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [sR'G'B' to XYZ]
に設定します。
データ型: single
| double
Y — イメージの Y 成分
行列
イメージの Y 成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [sR'G'B' to XYZ]
に設定します。
データ型: single
| double
Z — イメージの Z 成分
行列
イメージの Z 成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [sR'G'B' to XYZ]
に設定します。
データ型: single
| double
L* — イメージの明るさ成分
行列
イメージの明るさ成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [sR'G'B' to L*a*b*]
に設定します。
データ型: single
| double
a* — イメージの赤-緑成分
行列
イメージの赤-緑成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [sR'G'B' to L*a*b*]
に設定します。
データ型: single
| double
b* — イメージの黄-青成分
行列
イメージの黄-青成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [sR'G'B' to L*a*b*]
に設定します。
データ型: single
| double
パラメーター
変換 — 色空間の変換
R'G'B' to Y'CbCr
(既定値) | Y'CbCr to R'G'B'
| R'G'B' to intensity
| ...
次のオプションを使用して、イメージの変換元と変換先の色空間を指定します。
R'G'B' to Y'CbCr
Y'CbCr to R'G'B'
R'G'B' to intensity
B'G'R' to intensity
B'G'R' to R'G'B'
R'G'B' to B'G'R'
R'G'B' to HSV
HSV to R'G'B'
sR'G'B' to XYZ
XYZ to sR'G'B'
sR'G'B' to L*a*b*
L*a*b* to sR'G'B'
メモ
プライム記号の表記は、その信号がガンマ補正されていることを示します。
使用する変換の指定元 — 色変換標準
[Rec. 601 (SDTV)]
(既定値) | [Rec. 709 (HDTV)]
R'G'B' 色空間と Y'CbCr 色空間の間でイメージを変換する際の色変換標準の指定を [Rec. 601 (SDTV)]
または [Rec. 709 (HDTV)]
とします。
依存関係
このパラメーターを有効にするには、[変換] パラメーターを [R'G'B' to Y'CbCr]
または [Y'CbCr to R'G'B']
に設定します。
スキャン標準 — スキャン標準
1125/60/2:1
(既定値) | 1250/50/2:1
R'G'B' 色空間と Y'CbCr 色空間の間でイメージを変換する際のスキャン標準を [1125/60/2:1]
または [1250/50/2:1]
として指定します。
依存関係
このパラメーターを有効にするには、[変換] パラメーターを [R'G'B' to Y'CbCr]
または [Y'CbCr to R'G'B']
に設定し、[使用する変換の指定元] パラメーターの設定を [Rec. 709 (HDTV)]
とします。
ホワイト ポイント — ホワイト ポイント
D50
(既定値) | D55
| D65
sR'G'B' 色空間と L*a*b* 色空間の間でイメージを変換する際の基準ホワイト ポイントを、[D50]
、[D55]
、または [D65]
として指定します。
依存関係
このパラメーターを有効にするには、[変換] パラメーターを [sR'G'B' to L*a*b*]
または [L*a*b* to sR'G'B']
に設定します。
イメージ信号 — イメージ信号入力
1 つの多次元信号
(既定値) | 個別のカラー信号
イメージのカラー チャネルを 1 つの信号に結合するか、個別に入出力するかを指定します。
1 つの多次元信号
— ブロックは、入力イメージのカラー チャネルすべてを多次元配列として単一の入力端子に受け入れ、変換されたイメージを単一の出力端子から単一の行列または配列として出力する。個別のカラー信号
— ブロックは、入力イメージの各カラー チャネルを個別の入力端子に受け入れ、変換されたイメージの各カラー チャネルを個別の出力端子から出力する。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
アルゴリズム
R'G'B 色空間と Y'CbCr 色空間の間の変換
以下の方程式は、それぞれ R'G'B' から Y'CbCr への変換と Y'CbCr から R'G'B' への変換を定義しています。
行列の値 A
および B
は、[使用する変換の指定元] および [スキャン標準] の選択に基づきます。
行列 | [使用する変換の指定元]=[Rec. 601 (SDTV)] | [使用する変換の指定元]=[Rec. 709 (HDTV)] | |
---|---|---|---|
[スキャン標準]=[1125/60/2:1] | [スキャン標準]=[1250/50/2:1] | ||
A | |||
B |
R'G'B' から強度への変換
次の方程式は、R'G'B' 色空間から強度イメージへの変換を定義しています。
B'G'R' から強度への変換
次の方程式は、B'G'R' 色空間から強度イメージへの変換を定義しています。
R'G'B 色空間と HSV 色空間の間の変換
R'G'B' から HSV への変換を定義する方程式において、MAX と MIN はそれぞれ、与えられた R'G'B' 3 成分の最高成分値と最低成分値です。H、S、および V は 0 から 1 まで変化します。
次の方程式は、HSV から R'G'B' への変換を定義しています。ここで、M は、、、および の中で最も高い値です。
sR'G'B 色空間と XYZ 色空間の間の変換
sR'G'B' から XYZ への変換は 2 つの手順からなるプロセスです。まず、ブロックは次の方程式を使用してガンマ補正された sR'G'B' 値を線形 sRGB 値に変換します。
、、および がそれぞれ 0.03928 以下の場合は、次のようになります。
それ以外の場合は、次のようになります。
次に、ブロックは次の方程式を使用して sRGB 値を XYZ 値に変換します。
XYZ から sR'G'B' への変換も、2 つの手順からなるプロセスです。まず、ブロックは次の方程式を使用して XYZ 値を線形 sRGB 値に変換します。
次に、ブロックは次の方程式を使用してガンマ補正を適用し、sR'G'B' 値を取得します。
、、および がそれぞれ 0.00304 以下の場合は、次のようになります。
それ以外の場合は、次のようになります。
メモ
Computer Vision Toolbox™ はこの変換に、Recommendation ITU-R BT.709 で指定されているホワイト ポイント D65 を使用します。対照的に、Image Processing Toolbox™ での変換は ICC プロファイルに基づいており、ホワイト ポイント D50 への変換に D65 から D50 への Bradford 順応変換を使用します。これらの 2 つの製品を使用して結果を比較している場合、この違いを考慮に入れなければなりません。
sR'G'B 色空間と L*a*b* 色空間の間の変換
Color Space Conversion ブロックは 2 つの手順を踏んで sR'G'B' 値を L*a*b* 値に変換します。まず、sR'G'B 色空間と XYZ 色空間の間の変換で説明した方程式を使用して sR'G'B' 値を XYZ 値に変換します。次に、以下の方程式を使用して XYZ 値を L*a*b* 値に変換します。ここで、、 および は、[ホワイト ポイント] パラメーターで指定する基準ホワイト ポイントの三刺激値です。
が 0.008856 より大きい場合は、次のようになります。
それ以外の場合は、次のようになります。
t が 0.008856 より大きい場合は、次のようになります。
それ以外の場合は、次のようになります。
このブロックは 2 つの手順を踏んで L*a*b* 値から sR'G'B' 値への変換も行います。まず、ブロックは次の方程式を使用して L*a*b* 値を XYZ 値に変換します。
が 0.008856 より大きい場合は、次のようになります。
ここで、
それ以外の場合は、次のようになります。
次に、sR'G'B 色空間と XYZ 色空間の間の変換で説明した方程式を使用して XYZ 値を sR'G'B' 値に変換します。
参照
[1] Poynton, Charles A. A Technical Introduction to Digital Video. New York: John Wiley & Sons, 1996.
[2] International Telecommunication Union (ITU). Studio Encoding Parameters of Digital Television for Standard 4:3 and Wide-Screen 16:9 Aspect Ratios. Recommendation ITU-R BT.601-5. Geneva, Switzerland: ITU, recommended October 1995; superseded January 2007.
[3] International Telecommunication Union (ITU). Parameter Values for the HDTV Standards for Production and International Programme Exchange. Recommendation ITU-R BT.709-5. Geneva, Switzerland: ITU, recommended April 2002; superseded June 2015.
[4] Stokes, Michael, Matthew Anderson, Srinivasan Chandrasekar, and Ricardo Motta. “A Standard Default Color Space for the Internet - sRGB. World Wide Web Consortium (W3C).” November 5, 1996. https://www.w3.org/Graphics/Color/sRGB.html
[5] Berns, Roy S., Fred W. Billmeyer, Max Saltzman, and Fred W. Billmeyer. Billmeyer and Saltzman’s Principles of Color Technology. 3rd ed. New York: Wiley, 2000.
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
R2006a より前に導入
参考
ブロック
関数
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)