2019年9月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
無料ブログはココログ

« ・観覧車を長秒撮影してみる | トップページ | ・立体画像の作り方 »

2019年1月26日 (土)

・YCbCrとは

パソコンやデジカメ名のデジタル機器では、
すべての情報は0と1の二進数(bit)で表されます。
この時、カラー画像は光の三原色のR,G,Bで表すことが一般的です。
R,G,Bのそれぞれを0-255の256段階の明るさで表します。
256 = 2^8なので、8bit×3の24bitで一つの画素を表すことが出来ます。

8bit = 1Byteなので、画像の位置画素は3Byteです。
もし、2400万画素のデジカメの画像だと、
単純に計算すると7200万Byte≒72MByteになります。

実際はこれよりもファイルサイズが小さい理由はjpeg圧縮の項目
読んでください。

ここまで説明してきた画像の表し方は
RGBです。
(R,G,B)=(0,0,0)なら黒い画像になるし、
(R,G,B)=(255,255,255)なら白い画像になるし、
(R,G,B)=(255,0,0)なら真っ赤な画像になります。

しかし、この画像の表し方は人間の感覚に合いません。
(R,G,B)=(128,64,219)
この色がどういった色なのかすぐに理解するのは難しい。

画像処理をする場合、
彩度をもっと高くして鮮やかにしたい、
もっと明るめにしたい。
こういった要求が上がります。

色を扱う仕事をしているとHSV空間で色を表すと
人間の感覚に直感的です。
Hue 色相
Saturation 彩度
Value 明度
この三つです。

また、コンピュータで処理する場合
画像処理の形式としては
YUVやYCbCrもあります。

Yが輝度、UV,CbCrが色差を表します。
Yが0のときは、真っ黒、
Yが255の時は真っ白になります。

色差は概念が分かりにくいですが、
このふたつの値で色が表せるという意味と考えておけば大丈夫。

色差のマップ
Ycbcrcbcr_scaled_y50
(参考:Wikipedia)

YUVとYCbCrの違いは正規化されたときの値の違いだけで
基本的には同じです。
CbはChroma(色度)blue(青)
CrはChroma(色度)red(赤)
の略だと思われる。

このYCbCr形式で色を扱うと、
明るくしたい、彩度を高めたい、等の計算が楽になります。
上の図のように二次元平面で理解できるので、
二次元行列演算で簡単に計算が可能になります。

RGB2YCbCrの変換は以下
Y = 0.299 × R + 0.587 × G + 0.114 × B
Cb = -0.168736 × R - 0.331264 × G + 0.5 × B
Cr = 0.5 × R - 0.418688 × G - 0.081312 × B

YCbCr2RGBの変換は以下
R = Y + 1.402 × Cr
G = Y - 0.344136 × Cb - 0.714136 × Cr
B = Y + 1.772 × Cb


(R,G,B)=(128,64,219)

12864219
こんな色でした。

にほんブログ村 写真ブログ デジタル一眼(PENTAX)へ
にほんブログ村

« ・観覧車を長秒撮影してみる | トップページ | ・立体画像の作り方 »

写真講座」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: ・YCbCrとは:

« ・観覧車を長秒撮影してみる | トップページ | ・立体画像の作り方 »