HSV

З пляцоўкі testwiki
Версія ад 17:03, 20 сакавіка 2023, аўтар imported>Artsiom91Bot (выпраўленне перасылак)
(розн.) ← Папярэдн. версія | Актуальная версія (розн.) | Навейшая версія → (розн.)
Перайсці да навігацыі Перайсці да пошуку

HSV (Шаблон:Lang-en — тон, насычанасць, значэнне) або HSB (Шаблон:Lang-en — адценне, насычанасць, яркасць) — колеравая мадэль, у якой каардынатамі колера з’яўляюцца:

Шкала адценняў — Hue
  • Hue — колеравы тон, (напрыклад, чырвоны, зялёны ці сіне-блакітны). Вар’іруецца ў межах 0—360°, аднак часам прыводзіцца да дыяпазону 0—100 або 0—1.
  • Saturation — насычанасць. Вар’іруецца ў межах 0—100 ці 0—1. Чым больш гэты параметр, тым «чысцей» колер, таму гэты параметр часам завуць чысцінёй колеру. А чым бліжэй гэты параметр да нуля, тым бліжэй колер да нейтральнага шэрага.
  • Value (значэнне колеру) ці Brightness — яркасць. Таксама задаецца ў межах 0—100 і 0—1.

Мадэль была створана Элві Рэем Смітам, адным з заснавальнікаў Pixar, у 1978 годзе. Яна з’яўляецца нелінейным пераўтварэннем мадэлі RGB.

Колер, прадстаўлены ў HSV, залежыць ад прылады, на якую ён будзе выведзены, бо HSV — пераўтварэнне мадэлі RGB, якая таксама залежыць ад прылады. Для атрымання кода колеру, які не залежыць ад прылады, выкарыстоўваецца мадэль Lab.

Варта адзначыць, што HSV (HSB) і HSL — дзве розныя колеравыя мадэлі.

Трохмерныя візуалізацыі прасторы HSV

Цыліндр

Цыліндр

Найпрасцейшы спосаб адлюстраваць HSV у трохмерную прастору — скарыстацца цыліндрычнай сістэмай каардынат. Тут каардыната H вызначаецца палярным вуглом, S — радыус-вектарам, а V — Z-каардынатай. Гэта значыць, адценне змяняецца пры руху ўздоўж акружнасці цыліндру, насычанасць — уздоўж радыусу, а яркасць — уздоўж вышыні. Нягледзячы на «матэматычную» дакладнасць, у такой мадэлі ёсць істотны недахоп: на практыцы колькасць распазнаваных вокам узроўняў насычанасці і адценняў памяншаецца пры набліжэнні яркасці (V) да нулю (гэта значыць, на адценнях, блізкіх да чорнага). Таксама на малых S і V з’яўляюцца істотныя памылкі акруглення пры перакладзе RGB у HSV і наадварот. Таму часцей ужываецца канічная мадэль. Шаблон:Clear

Конус

Канічнае ўяўленне мадэлі

Іншы спосаб візуалізацыі каляровай прасторы — конус. Як і ў цыліндры, адценне змяняецца па акружнасці конусу. Насычанасць колеру ўзрастае з аддаленнем ад восі конусу, а яркасць — з набліжэннем да яго падножжа. Часам замест конусу выкарыстоўваецца шасцікутная правільная піраміда.

Шаблон:Clear

Абодва гэтых спосабу з’яўляюцца зручнай трохмернай ілюстрацыяй прасторы HSV. Але з-за трохмернасці яны ў прыкладным ПА не ўжываюцца.

Візуалізацыя HSV у прыкладным ПА

Мадэль HSV часта выкарыстоўваецца ў праграмах камп’ютарнай графікі, бо зручная для чалавека. Ніжэй азначаны спосабы «разгортвання» трохмернай прасторы HSV на двухмерны экран камп’ютара.

Колеравы круг

Гэта візуалізацыя складаецца з колеравага кругу (гэта значыць, папярэчнага сячэння цыліндру) і рухавічка яркасці (вышыні цыліндру). Гэта візуалізацыя атрымала шырокую вядомасць па першых версіях ПА кампаніі Corel. На гэты момант ужываецца надзвычай рэдка, часцей выкарыстоўваюць кальцавую мадэль («а-ля Macromedia»)

Шаблон:Clear

Колеравае кальцо

Колеравае кальцо з восямі H, S і V
Кальцо з паваротам

Адценне падаецца ў выглядзе вясёлкавага кальца, а насычанасць і значэнне колеру выбіраюцца з дапамогай упісанага ў гэта кальцо трохвугольніку. Яго вертыкальная вось, як правіла, рэгулюе насычанасць, а гарызантальная дазваляе змяняць значэнне колеру. Такім чынам, для выбару колеру трэба спачатку паказаць адценне, а потым абраць патрэбны колер з трохвугольніка. Шаблон:Clear

Змена аднаго кампанента

Тры ўзроўні яркасці пры якіх павялічваецца насычанасць
Тры ўзроўні насычанасці пры якіх павялічваецца яркасць

На гэтых дзвюх дыяграмах паказаны колеры, якія адрозніваюцца толькі адным кампанентам. Шаблон:Clear

Пераўтварэнне колеравых кампанентаў паміж мадэлямі

RGB → HSV

Ілюстрацыя, якая дэманструе адносіны паміж RGB і HSV

Лічым, што:

H[0,360)S,V,R,G,B[0,1]

Няхай MAX — максімальнае значэнне з R, G і B, а MIN — мінімальнае з іх.

H={ 0, калі MAX=MIN
60×GBMAXMIN+0, калі MAX=R і GB
60×GBMAXMIN+360, калі MAX=R і G<B
60×BRMAXMIN+120, калі MAX=G
60×RGMAXMIN+240, калі MAX=B
S={ 0, калі MAX=0,
иначе 1MINMAX

V=MAX

HSV → RGB

Hi= H60mod6
f= H60H60
p= V(1S)
q= V(1fS)
t= V(1(1f)S)
калі Hi=0 R=V, G=t, B=p
калі Hi=1 R=q, G=V, B=p
калі Hi=2 R=p, G=V, B=t
калі Hi=3 R=p, G=q, B=V
калі Hi=4 R=t, G=p, B=V
калі Hi=5 R=V, G=p, B=q

У камп’ютарнай графіцы кампаненты S і V прынята ўяўляць цэлым лікам ад 0 да 255 (у вакне выбару колераў у Microsoft Windows — ад 0 да 240) замест рэчаіснага ад 0 да 1. Пры цэлалікавым кадзіраванні для кожнага колеру ў HSV ёсць адпаведны колер у RGB. Аднак адваротнае сцвярджэнне не з’яўляецца дакладным: некаторыя колеры ў RGB нельга выразіць у HSV так, каб значэнне кожнага кампанента было цэлым. Фактычна, пры такім кадзіраванні даступна толькі 1256 частка колеравай прасторы RGB.

Дадатковыя колеры

Шаблон:Main Два колеры завуцца дадатковымі, калі пры змешванні іх у роўнай прапорцыі атрымліваецца чысты шэры колер. Калі зададзены адзін колер (H, S, V), то абавязкова існуе дадатковы яму колер (H, S, V). Паколькі выніковы колер павінен быць шэрым, яго насычанасць (S) павінна быць роўная 0. Такім чынам,

H= {H180,if H180H+180,if H<180
S= VSV(S1)+1
V= V(S1)+1

Гл. таксама

Шаблон:Колеравыя мадэлі