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

ライブラリ:
Computer Vision Toolbox /
Conversions
説明
Color Space Conversion ブロックは色空間の間で色情報を変換します。[変換] パラメーターを使用して、変換を行う色空間を指定します。
例
端子
入力
入力イメージ。M×N×C の配列として指定します。ここで、C は入力イメージのカラー チャネルの数です。
データ型: single
| double
| uint8
イメージの赤色成分。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
イメージの緑色成分。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
イメージの青色成分。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
イメージの輝度成分。M 行 N 列の行列として指定します。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [Y'CbCr to R'G'B']
に設定します。
データ型: single
| double
| uint8
イメージの青-色差クロマ成分。M 行 D 列の行列として指定します。ここで、D はイメージ幅の半分です。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [Y'CbCr to R'G'B']
に設定します。
データ型: single
| double
| uint8
イメージの赤-色差クロマ成分。M 行 D 列の行列として指定します。ここで、D はイメージ幅の半分です。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [Y'CbCr to R'G'B']
に設定します。
データ型: single
| double
| uint8
イメージの色相成分。M 行 N 列の行列として指定します。
メモ
H、S、および V 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [HSV to R'G'B']
に設定します。
データ型: single
| double
イメージの彩度成分。M 行 N 列の行列として指定します。
メモ
H、S、および V 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [HSV to R'G'B']
に設定します。
データ型: single
| double
イメージの明度成分。M 行 N 列の行列として指定します。
メモ
H、S、および V 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [HSV to R'G'B']
に設定します。
データ型: single
| double
イメージの X 成分。M 行 N 列の行列として指定します。
メモ
X、Y、および Z 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [XYZ to sR'G'B']
に設定します。
データ型: single
| double
イメージの Y 成分。M 行 N 列の行列として指定します。
メモ
X、Y、および Z 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [XYZ to sR'G'B']
に設定します。
データ型: single
| double
イメージの Z 成分。M 行 N 列の行列として指定します。
メモ
X、Y、および Z 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [XYZ to sR'G'B']
に設定します。
データ型: single
| double
イメージの明るさ成分。M 行 N 列の行列として指定します。
メモ
L*、a*、および b* 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [L*a*b* to sR'G'B']
に設定します。
データ型: single
| double
イメージの赤-緑成分。M 行 N 列の行列として指定します。
メモ
L*、a*、および b* 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [L*a*b* to sR'G'B']
に設定します。
データ型: single
| double
イメージの黄-青成分。M 行 N 列の行列として指定します。
メモ
L*、a*、および b* 端子への入力の次元数とデータ型は、互いに同じでなければなりません。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [L*a*b* to sR'G'B']
に設定します。
データ型: single
| double
出力
出力イメージ。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
イメージの赤色成分。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
イメージの緑色成分。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
イメージの青色成分。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
イメージの輝度成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [R'G'B' to Y'CbCr]
に設定します。
データ型: single
| double
| int8
| uint8
イメージの青-色差クロマ成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [R'G'B' to Y'CbCr]
に設定します。
データ型: single
| double
| int8
| uint8
イメージの赤-色差クロマ成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [R'G'B' to Y'CbCr]
に設定します。
データ型: single
| double
| int8
| uint8
強度イメージ。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [R'G'B' to intensity]
に設定します。
データ型: single
| double
| int8
| uint8
イメージの色相成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [R'G'B' to HSV]
に設定します。
データ型: single
| double
イメージの彩度成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [R'G'B' to HSV]
に設定します。
データ型: single
| double
イメージの明度成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [R'G'B' to HSV]
に設定します。
データ型: single
| double
イメージの X 成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [sR'G'B' to XYZ]
に設定します。
データ型: single
| double
イメージの Y 成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [sR'G'B' to XYZ]
に設定します。
データ型: single
| double
イメージの Z 成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [sR'G'B' to XYZ]
に設定します。
データ型: single
| double
イメージの明るさ成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [sR'G'B' to L*a*b*]
に設定します。
データ型: single
| double
イメージの赤-緑成分。M 行 N 列の行列として返されます。
依存関係
この端子を有効にするには、[イメージ信号] パラメーターを [個別のカラー信号]
に設定し、[変換] パラメーターを [sR'G'B' to L*a*b*]
に設定します。
データ型: single
| double
イメージの黄-青成分。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
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'
メモ
プライム記号の表記は、その信号がガンマ補正されていることを示します。
R'G'B' 色空間と Y'CbCr 色空間の間でイメージを変換する際の色変換標準の指定を [Rec. 601 (SDTV)]
または [Rec. 709 (HDTV)]
とします。
依存関係
このパラメーターを有効にするには、[変換] パラメーターを [R'G'B' to Y'CbCr]
または [Y'CbCr to R'G'B']
に設定します。
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)]
とします。
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 つの多次元信号
— ブロックは、入力イメージのカラー チャネルすべてを多次元配列として単一の入力端子に受け入れ、変換されたイメージを単一の出力端子から単一の行列または配列として出力する。個別のカラー信号
— ブロックは、入力イメージの各カラー チャネルを個別の入力端子に受け入れ、変換されたイメージの各カラー チャネルを個別の出力端子から出力する。
ブロックの特性
データ型 |
|
多次元信号 |
|
可変サイズの信号 |
|
アルゴリズム
以下の方程式は、それぞれ 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' 色空間から強度イメージへの変換を定義しています。
次の方程式は、B'G'R' 色空間から強度イメージへの変換を定義しています。
R'G'B' から HSV への変換を定義する方程式において、MAX と MIN はそれぞれ、与えられた R'G'B' 3 成分の最高成分値と最低成分値です。H、S、および V は 0 から 1 まで変化します。
次の方程式は、HSV から R'G'B' への変換を定義しています。ここで、M は、、、および の中で最も高い値です。
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 つの製品を使用して結果を比較している場合、この違いを考慮に入れなければなりません。
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 Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)