データ範囲 | データ変換方法 | ||||
記録方式 | エレメント |
下限 | 上限 | RAW ⇒ 0 - 255 変換 | 0 - 255 ⇒ RAW変換 |
RGB | R, G, B | 0 | 255 | - | - |
YUV (YCbCr) |
Y | 0 | 255 | - | - |
U(Cb),V(Cr) | -128 | 127 | +128 | -128 | |
HSV | H | -3.141590 | 3.141590 | (255.0*(H+M_PI))/(2*M_PI) | (X*2*M_PI)/255.0 -M_PI |
S | 0.00 | 136.162 | S*1.87 | X/1.87 | |
V | 0.0 | 255.0 | - | - |
記録方式 | エレメント間の変換式 |
RGB | R = R G = G B = B |
YUV (YCbCr) |
Y(Y) = 0.299*R + 0.587*G + 0.114*B |
U(Cb) = -0.169*R - 0.331*G + 0.500*B V(Cr) = 0.500*R - 0.419*G - 0.081*B |
|
HSV | H = atan2( (0.5*R-0.419*G-0.081*B), (-0.169*R-0.331*G+0.5*B) ) |
S = sqrt( pow((-0.169*R-0.331*G+0.5*B),2.)+pow((0.5*R-0.419*G-0.081*B),2.) ); | |
V = 0.299*R + 0.587*G + 0.114*B |
記録方式 | エレメント間の変換式 |
RGB | R = 1.0*V + 1.402*S*sin(H) G = 1.0*V - 0.344*S*cos(H) - 0.714*S*sin(H) B = 1.0*V + 1.772*S*cos(H) R = 1.0*Y(Y) + 1.402*V(Cr) G = 1.0*Y(Y) - 0.344*U(Cb) - 0.714*V(Cr) B = 1.0*Y(Y) + 1.772*U(Cb) |
YUV (YCbCr) |
Y(Y) = V |
U(Cb) = S * cos(H) V(Cr) = S * sin(H) |
|
HSV | H = H |
S = S | |
V = V |
bmp2hsv.exe | BMPファイルを読み込み、HSVデータに変換後、BMPファイル形式で HSVデータを保存 |
bmp2yuv.exe | BMPファイルを読み込み、YUVデータに変換後、BMPファイル形式で YUVデータを保存 |
bmp4e2hsv.exe | bmp2hsv.exe の機能に、HSVの各データ毎のBMP形式のファイルを作成 |
bmp4e2yuv.exe | bmp2yuv.exe の機能に、YUVの各データ毎のBMP形式のファイルを作成 |
hsv2rgb.exe | BMP形式で保存された HSVデータを読み込み、RGB形式に変換後、BMPファイルとして保存 |
yuv2rgb.exe | BMP形式で保存された YUVデータを読み込み、RGB形式に変換後、BMPファイルとして保存 |
lena.bmp | 変換テスト用の BMPファイル |
original | RGB -> YUV | RGB -> HSV |
|
||
YUV: Y data | YUV: U(Cb) data | YUV: V(Cr) data |
⇒ YUV データから RGBデータに変換 |
||
|
||
HSV: H data | HSV: S data | HSV: V data |
⇒ HSV データから RGBデータに変換 |
windows.zip | windows 実行形式 | MD5SUM: 2b854d6a4cd15267da2a1e89afd623b0 |
source.zip | ソースコード (C言語) | MD5SUM: 6457c00102a0462f3686b4c0da7909cf |
lena.bmp | BMP file | |
exe obsoleted | windows 実行形式 | MD5SUM: e695c8cf11ef3182bc61db8e6fa63b2a |
src obsoleted | ソースコード (C言語) | MD5SUM: 5d9376285eba20206b10c0c619c41799 |
go to TopPage | go to CategoryTop |