RGB HSV色彩空間模式的互相轉換

2021-04-08 14:04:50 字數 830 閱讀 4846

rgb、hsv色彩空間模式的互相轉換

rgb顏色空間轉換為hsv空間顏色值:

void rgb2hsv(float r, float g, float b, float& h, float& s, float&v)

if( r == max )

h = ( g - b ) / delta; // between yellow & magenta

else if( g == max )

h = 2 + ( b - r ) / delta; // between cyan & yellow

else

h = 4 + ( r - g ) / delta; // between magenta & cyan

h *= 60; // degrees

if( h < 0 )

h += 360;

}hsv顏色空間轉換為rgb空間顏色值:

void hsv2rgb(float h, float s, float v, float &r, float &g, float &b)

h /= 60; // sector 0 to 5

i = floor( h );

f = h - i; // factorial part of h

p = v * ( 1 - s );

q = v * ( 1 - s * f );

t = v * ( 1 - s * ( 1 - f ) );

switch( i ) }

你可以使用這個鏈結引用該篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryid=1168000

zt RGB HSV色彩空間模式的互相轉換

在開發有關bitmap方面的程式時,經常需要將位圖的顏色在rgb和hsv色彩空間之間轉換,該顏色轉換由c 實現 rgb顏色空間轉換為hsv空間顏色值 void rgb2hsv float r,float g,float b,float h,float s,float v if r max h g b...

色彩空間的轉換

彩圖與灰度圖的相互轉換 rgb gray rgb a gray y 0.212671 r 0.715160 g 0.072169 b gray rgb a r y g y b y a 0 rgb xyz x 0.412411 0.357585 0.180454 r y 0.212649 0.7151...

YUV YIQ色彩空間的轉換

自然界的顏色千變萬化,為了給顏色乙個量化的衡量標準,就需要建立色彩空間模型來描述各種各樣的顏色,由於人對色彩的感知是乙個複雜的生理和心理聯合作用的過程,所以在不同的應用領域中為了更好更準確的滿足各自的需求,就出現了各種各樣的色彩空間模型來量化的描述顏色。我們比較常接觸到的就包括 rgb cmyk y...