六月丁香五月婷婷,丁香五月婷婷网,欧美激情网站,日本护士xxxx,禁止18岁天天操夜夜操,18岁禁止1000免费,国产福利无码一区色费

學(xué)習(xí)啦 > 知識(shí)大全 > 知識(shí)百科 > 百科知識(shí) > hsv的算法是怎么樣的

hsv的算法是怎么樣的

時(shí)間: 謝君787 分享

hsv的算法是怎么樣的

  HSV是根據(jù)顏色的直觀特性由A. R. Smith在1978年創(chuàng)建的一種顏色空間,,也稱六角錐體模型,以下是由學(xué)習(xí)啦小編整理關(guān)于什么是hsv的內(nèi)容,希望大家喜歡!

  hsv的簡介

  色調(diào)H

  用角度度量,取值范圍為0°~360°,從紅色開始按逆時(shí)針方向計(jì)算,紅色為0°,綠色為120°,藍(lán)色為240°。它們的補(bǔ)色是:黃色為60°,青色為180°,品紅為300°;

  飽和度S

  飽和度S表示顏色接近光譜色的程度。一種顏色,可以看成是某種光譜色與白色混合的結(jié)果。其中光譜色所占的比例愈大,顏色接近光譜色的程度就愈高,顏色的飽和度也就愈高。飽和度高,顏色則深而艷。光譜色的白光成分為0,飽和度達(dá)到最高。通常取值范圍為0%~100%,值越大,顏色越飽和。

  明度V

  明度表示顏色明亮的程度,對(duì)于光源色,明度值與發(fā)光體的光亮度有關(guān);對(duì)于物體色,此值和物體的透射比或反射比有關(guān)。通常取值范圍為0%(黑)到100%(白)。

  RGB和CMY顏色模型都是面向硬件的,而HSV(Hue Saturation Value)顏色模型是面向用戶的。

  HSV模型的三維表示從RGB立方體演化而來。設(shè)想從RGB沿立方體對(duì)角線的白色頂點(diǎn)向黑色頂點(diǎn)觀察,就可以看到立方體的六邊形外形。六邊形邊界表示色彩,水平軸表示純度,明度沿垂直軸測量。

  hsv的算法

  RGB轉(zhuǎn)化到HSV的算法:

  max=max(R,G,B);

  min=min(R,G,B);

  V=max(R,G,B);

  S=(max-min)/max;

  if (R = max) H =(G-B)/(max-min)* 60;

  if (G = max) H = 120+(B-R)/(max-min)* 60;

  if (B = max) H = 240 +(R-G)/(max-min)* 60;

  if (H < 0) H = H+ 360;

  HSV轉(zhuǎn)化到RGB的算法:

  if (s = 0)

  R=G=B=V;

  else

  H /= 60;

  i = INTEGER(H);

  f = H - i;

  a = V * ( 1 - s );

  b = V * ( 1 - s * f );

  c = V * ( 1 - s * (1 - f ) );

  switch(i)

  case 0: R = V; G = c; B = a;

  case 1: R = b; G = v; B = a;

  case 2: R = a; G = v; B = c;

  case 3: R = a; G = b; B = v;

  case 4: R = c; G = a; B = v;

  case 5: R = v; G = a; B = b;

  HSV對(duì)用戶來說是一種直觀的顏色模型。我們可以從一種純色彩開始,即指定色彩角H,并讓V=S=1,然后我們可以通過向其中加入黑色和白色來得到我們需要的顏色。增加黑色可以減小V而S不變,同樣增加白色可以減小S而V不變。例如,要得到深藍(lán)色,V=0.4 S=1 H=240度。要得到淡藍(lán)色,V=1 S=0.4 H=240度。

  一般說來,人眼最大能區(qū)分128種不同的色彩,130種色飽和度,23種明暗度。如果我們用16Bit表示HSV的話,可以用7位存放H,4位存放S,5位存放V,即745或者655就可以滿足我們的需要了。

  由于HSV是一種比較直觀的顏色模型,所以在許多圖像編輯工具中應(yīng)用比較廣泛,如Photoshop(在Photoshop中叫HSB)等等,但這也決定了它不適合使用在光照模型中,許多光線混合運(yùn)算、光強(qiáng)運(yùn)算等都無法直接使用HSV來實(shí)現(xiàn)。

  順便提一下,另外一種直觀顏色模型是HSL模型,該模型中前兩個(gè)參數(shù)和HSV一樣,而L表示亮度。它的三維表示為一雙棱錐。

  hsv的比較

  HSL 類似于 HSV。對(duì)于一些人,HSL 更好的反映了“飽和度”和“亮度”作為兩個(gè)獨(dú)立參數(shù)的直覺觀念,但是對(duì)于另一些人,它的飽和度定義是錯(cuò)誤的,因?yàn)榉浅H岷偷膸缀醢咨念伾?HSL 可以被定義為是完全飽和的。對(duì)于 HSV 還是 HSL 更適合于人類用戶界面是有爭議的。

  W3C的CSS3 規(guī)定聲稱“HSL 的優(yōu)點(diǎn)是它對(duì)稱于亮與暗(HSV 就不是這樣)…”,這意味著:

  在 HSL 中,飽和度分量總是從完全飽和色變化到等價(jià)的灰色(在 HSV 中,在極大值 V 的時(shí)候,飽和度從全飽和色變化到白色,這可以被認(rèn)為是反直覺的)。

  在 HSL 中,亮度跨越從黑色過選擇的色相到白色的完整范圍(在 HSV 中,V 分量只走一半行程,從黑到選擇的色相)。

  在軟件中,通常以一個(gè)線性或圓形色相選擇器和在其中為選定的色相選取飽和度和明度/亮度的一個(gè)二維區(qū)域(通常為方形或三角形)形式提供給用戶基于色相的顏色模型(HSV 或 HSL)。通過這種表示,在 HSV 和 HSL 之間的區(qū)別就無關(guān)緊要了。但是很多程序還允許你通過線性滑塊或數(shù)值錄入框來選擇顏色的明度/亮度,而對(duì)于這些控件通常使用要么 HSL 要么 HSV(而非二者)。HSV 傳統(tǒng)上更常用。
看過“hsv的算法”的人還看了:

1.單純皰疹是什么

2.皰疹是怎么形成的

3.病毒皰疹的治療方法

4.皰疹是怎樣形成的

2145087