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

Color Space Conversion

色空間の間における色情報の変換

ライブラリ

Conversions

visionconversions

説明

Color Space Conversion ブロックは色空間の間で色情報を変換します。[変換] パラメーターを使用して、変換を行う色空間を指定します。選択肢は、[R'G'B' to Y'CbCr][Y'CbCr to R'G'B'][R'G'B' to intensity][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'] です。

  • 入力が uint8 の場合、YCBCRuint8 であり、Y の範囲は [16 235]CbCr の範囲は [16 240] です。

  • 入力が double の場合、Y の範囲は [16/255 235/255]CbCr の範囲は [16/255 240/255] です。

端子入力/出力サポートされているデータ型サポートされている複素数値
入力/出力

M x N x P のカラー ビデオ信号。ここで P は色平面の数です

  • 倍精度浮動小数点

  • 単精度浮動小数点

  • 8 ビット符号なし整数

なし

R'

入力 RGB ビデオ ストリームの 1 つの平面を表す行列

入力端子と同じ

なし

G'

入力 RGB ビデオ ストリームの 1 つの平面を表す行列

入力端子と同じ

なし

B'

入力 RGB ビデオ ストリームの 1 つの平面を表す行列

入力端子と同じ

なし

Y'

イメージの輝度部分を表す行列

入力端子と同じ

なし

Cb

イメージの 1 つの色差成分を表す行列

入力端子と同じ

なし

Cr

イメージの 1 つの色差成分を表す行列

入力端子と同じ

なし

I'

強度値の行列

入力端子と同じ

なし

H

イメージの色相成分を表す行列

  • 倍精度浮動小数点

  • 単精度浮動小数点

なし

S

イメージの彩度成分を表す行列

H 端子と同じ

なし

V

イメージの明度成分を表す行列

H 端子と同じ

なし

X

イメージの X 成分を表す行列

H 端子と同じ

なし

Y

イメージの Y 成分を表す行列

H 端子と同じ

なし

Z

イメージの Z 成分を表す行列

H 端子と同じ

なし

L*

イメージの輝度部分を表す行列

H 端子と同じ

なし

a*

イメージの a* 成分を表す行列

H 端子と同じ

なし

b*

イメージの b* 成分を表す行列

H 端子と同じ

なし

出力信号のデータ型は入力信号のデータ型と同じです。

[イメージ信号] パラメーターを使用してカラー ビデオ信号の入力方法と出力方法を指定します。[1 つの多次元信号] を選択すると、ブロックは M x N x P のカラー ビデオ信号を受け入れます。P は 1 つの端子での色平面の数です。[個別のカラー信号] を選択すると、ブロックに追加の端子が表示されます。それぞれの端子が RGB ビデオ ストリームの 1 つの M x N 平面を受け入れます。

メモ:

プライム記号の表記は、その信号がガンマ補正されていることを示します。

R'G'B 色空間と Y'CbCr 色空間の間の変換

次の方程式は、R'G'B' から Y'CbCr への変換と Y'CbCr から R'G'B' への変換を定義しています。

[YCbCr]=[16128128]+Α×[RGB]

[RGB]=Β×([YCbCr][16128128])

行列の値 A および B は、[使用する変換の指定元] および [スキャン標準] の選択に基づきます。

行列[使用する変換の指定元]=[Rec. 601 (SDTV)][使用する変換の指定元]=[Rec. 709 (HDTV)]
[スキャン標準]=[1125/60/2:1][スキャン標準]=[1250/50/2:1]
A[0.256788240.504129410.097905880.14822290.290992790.439215690.439215690.367788310.07142737][ 0.18258588   0.61423059   0.06200706  -0.10064373  -0.33857195   0.43921569   0.43921569  -0.39894216  -0.04027352][0.256788240.504129410.097905880.14822290.290992790.439215690.439215690.367788310.07142737]
B[1.164383601.59602681.16438360.391762290.812967651.16438362.01723210][1.1643835601.792741071.16438356-0.21324861-0.532909331.164383562.112401790][1.164383601.59602681.16438360.391762290.812967651.16438362.01723210]

R'G'B' から強度への変換

次の方程式は、R'G'B' 色空間から強度への変換を定義しています。

intensity=[0.2990.5870.114][RGB]

R'G'B 色空間と HSV 色空間の間の変換

R'G'B' から HSV への変換の定義式は、次のとおりです。これらの方程式で、MAX および MIN はそれぞれ、各 R'G'B' 3 成分の最大値と最小値を表します。HS および V は 0 から 1 の間で変化します。1 は彩度と明度が最大であることを表します。

H={(GBMAXMIN)/6,ifR=MAX(2+BRMAXMIN)/6,ifG=MAX(4+RGMAXMIN)/6,ifB=MAXS=MAXMINMAXV=MAX

HSV から R'G'B' への変換の定義式は、次のとおりです。

Hi=6Hf=6HHip=1Sq=1fSt=1(1f)SifHi=0,Rtmp=1,Gtmp=t,Btmp=pifHi=1,Rtmp=q,Gtmp=1,Btmp=pifHi=2,Rtmp=p,Gtmp=1,Btmp=tifHi=3,Rtmp=p,Gtmp=q,Btmp=1ifHi=4,Rtmp=t,Gtmp=p,Btmp=1ifHi=5,Rtmp=1,Gtmp=p,Btmp=qu=V/max(Rtmp,Gtmp,Btmp)R=uRtmpG=uGtmpB=uBtmp

sR'G'B 色空間と XYZ 色空間の間の変換

sR'G'B' から XYZ への変換は 2 つの手順からなるプロセスです。まず、ブロックは次の方程式を使用してガンマ補正された sR'G'B' 値を線形 sRGB 値に変換します。

IfRsRGB,GsRGB,BsRGB0.03928RsRGB=RsRGB/12.92GsRGB=GsRGB/12.92BsRGB=BsRGB/12.92otherwise,ifRsRGB,GsRGB,BsRGB>0.03928RsRGB=[(RsRGB+0.055)1.055]2.4GsRGB=[(GsRGB+0.055)1.055]2.4BsRGB=[(BsRGB+0.055)1.055]2.4

次に、ブロックは次の方程式を使用して sRGB 値を XYZ 値に変換します。

[XYZ]=[0.412390799265960.357584339383880.180480788401830.212639005871510.715168678767760.072192315360730.019330818715590.119194779794630.95053215224966]×[RsRGBGsRGBBsRGB]

XYZ から sR'G'B' への変換も、2 つの手順からなるプロセスです。まず、ブロックは次の方程式を使用して XYZ 値を線形 sRGB 値に変換します。

[RsRGBGsRGBBsRGB]=[0.412390799265960.357584339383880.180480788401830.212639005871510.715168678767760.072192315360730.019330818715590.119194779794630.95053215224966]1×[XYZ]

次に、ブロックはガンマ補正を適用して sR'G'B' 値を取得します。このプロセスは以下の方程式で表されます。

IfRsRGB,GsRGB,BsRGB0.00304RsRGB=12.92RsRGBGsRGB=12.92GsRGBBsRGB=12.92BsRGBotherwise,ifRsRGB,GsRGB,BsRGB>0.00304RsRGB=1.055RsRGB(1.0/2.4)0.055GsRGB=1.055GsRGB(1.0/2.4)0.055BsRGB=1.055BsRGB(1.0/2.4)0.055

メモ

Computer Vision System 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* 値に変換します。ここで、XnYn および Zn は、[ホワイト ポイント] パラメーターで指定する基準白色点の三刺激値です。

L*=116(Y/Yn)1/316,forY/Yn>0.008856L*=903.3Y/Yn,otherwisea*=500(f(X/Xn)f(Y/Yn))b*=200(f(Y/Yn)f(Z/Zn)),wheref(t)=t1/3,fort>0.008856f(t)=7.787t+16/166,otherwise

このブロックは 2 つの手順を踏んで L*a*b* 値から sR'G'B' 値への変換も行います。このブロックは、次の方程式を使用して L*a*b* 値を XYZ 値に変換します。

ForY/Yn>0.008856X=Xn(P+a*/500)3Y=YnP3Z=Zn(Pb*/200)3,whereP=(L*+16)/116

パラメーター

変換

変換する色空間を指定します。選択肢は、[R'G'B' to Y'CbCr][Y'CbCr to R'G'B'][R'G'B' to intensity][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] です。このパラメーターは、[使用する変換の指定元] パラメーターに [Rec. 709 (HDTV)] を選択した場合にのみ使用できます。

ホワイト ポイント

基準白色点を指定します。このパラメーターは、[変換] パラメーターに [sR'G'B' to L*a*b*] または [L*a*b* to sR'G'B'] を選択した場合にのみ表示されます。

イメージ信号

カラー ビデオ信号の入出力方法を指定します。[1 つの多次元信号] を選択すると、ブロックは M x N x P のカラー ビデオ信号を受け入れます。P は 1 つの端子での色平面の数です。[個別のカラー信号] を選択すると、ブロックに追加の端子が表示されます。それぞれの端子が RGB ビデオ ストリームの 1 つの M x N 平面を受け入れます。

参照

[1] Poynton, Charles A. A Technical Introduction to Digital Video. New York: John Wiley & Sons, 1996.

[2] Recommendation ITU-R BT.601-5, Studio Encoding Parameters of Digital Television for Standard 4:3 and Wide Screen 16:9 Aspect Ratios.

[3] Recommendation ITU-R BT.709-5. Parameter values for the HDTV standards for production and international programme exchange.

[4] Stokes, Michael, Matthew Anderson, Srinivasan Chandrasekar, and Ricardo Motta, “A Standard Default Color Space for the Internet - sRGB.” November 5, 1996.

[5] Berns, Roy S. Principles of Color Technology, 3rd ed. New York: John Wiley & Sons, 2000.

参考

Chroma Resampling

Computer Vision System Toolbox ソフトウェア

rgb2hsv

MATLAB® ソフトウェア

hsv2rgb

MATLAB ソフトウェア

rgb2ycbcr

Image Processing Toolbox ソフトウェア

ycbcr2rgb

Image Processing Toolbox ソフトウェア

rgb2gray

Image Processing Toolbox ソフトウェア

makecform

Image Processing Toolbox ソフトウェア

applycform

Image Processing Toolbox ソフトウェア

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

R2006a より前に導入