Скільки всього кольорів у компютері

0 Comments 00:35

Кольори спектру і основні кольори

Кольори спектру, починаючись з червоного і проходячи через відтінки протилежні, контрастні червоному (зелений, ціан), потім переходять у фіолетовий колір, знову наближається до червоного. Близькість видимого сприйняття фіолетового і червоного кольорів пов’язана з тим, що частоти, відповідні фіолетовому спектру, наближаються до частот, що перевищує частоти червоного рівно в два рази. Але самі ці останні зазначені частоти знаходяться вже поза видимого спектру. Тому ми не бачимо переходу від фіолетового знову до червоного кольору, як це відбувається в колірному колі, в який включені неспектральние кольору і де присутня перехід між червоним і фіолетовим через пурпурні відтінки.

Практика художників наочно показувала, що дуже багато кольори і відтінки можна отримати змішанням невеликої кількості фарб. Прагнення натурфілософів знайти першооснови всього на світі, аналізуючи явища природи, все розкласти на елементи, призвело до виділення основних кольорів. Основні і додаткові кольори зазвичай ілюструють за допомогою колірного кола (рис. 7.3).

Було встановлено, що оптичне змішування деяких пар кольорів може давати відчуття білого кольору. Додатковими квітами (взаємодоповнюючі або протилежними) називають пари квітів,

Рис. 7.3. Колірне коло

оптичне змішування яких призводить до отримання ахроматичного кольору (білого, сірого або чорного). У RGB тріаді [1] основних кольорів “червоний – зелений – синій” додатковими є відповідно “ціан – пурпурний – жовтий”. Тобто основні і додаткові кольори в RGB виглядають наступним чином:

  • • червоний колір і ціан (англ. Redcyan) (ціан – синьо-зелений колір);
  • • зелений колір і пурпурний (англ. Greenmagenta) (пурпурний або маджента – між малиновим і ліловим);
  • • синій і жовтий кольори (англ. Blueyellow).

Випромінювання, складові додаткові кольори, можуть мати різний спектральний склад (явище метамерії). На колірному колі, який побудований за принципом RGB, ці кольори розташовують опозиційно, так що кольори обох тріад чергуються.

Кольори колірного кола

В системі RGB (червоний – зелений – си- ний) кольору поділяються на 12 основних тонів: 3 основних кольору, 3 додаткових до основних і ще 6 проміжних тонів (табл. 7.1).

Кольори в системі RGB

Таблиця 7.1

КОЛІР В КОМП’ЮТЕРІ

Поняття кольору, наукові уявлення про колір, сприйняття кольору, спектр, різні кольори і їх взаємодія

Поняття кольору

Колір – суб’єктивна якісна характеристика електромагнітного випромінювання оптичного діапазону, що визначається на підставі фізіологічного зорового відчуття і залежна від ряду фізичних, фізіологічних і психологічних факторів. У перекладі на просту мову колір – це відчуття, яке відчуває людина при попаданні в очі світлових променів. Світлова енергія передається у вигляді хвиль. Довжина кожної хвилі визначає її інтенсивність, безпосередньо пов’язану з се кольором. Деякі хвилі не можна побачити людським оком: наприклад, у інфрачервоного світла довжина хвиль для цього занадто велика, а у рентгенівських променів – занадто мала. Між ними і знаходиться видимий спектр, який представлений в шкільному курсі фізики. Кольори в спектрі плавно переходять один в іншій, але для систематизації все колірне різноманіття розділили на кілька основних кольорів.

Вперше безперервний спектр на сім кольорів розбив Ісаак Ньютон. Це розбиття умовно і багато в чому випадково. Ймовірно, Ньютон перебував під враженням європейської нумерології і грунтувався на аналогії з сімома нотами в октаві (так само сім днів тижня, сьомій металів, сім планет і т.д.), що стало причиною виділення саме семи кольорів. Коло кольорів Ньютона показаний на рис. 7.1.

Рис. 7.1. Коло кольорів Ньютона з книги “Оптика” (1704), що показує взаємозв’язок між квітами і музичними нотами

Кольори спектру від червоного до фіолетового розділені нотами, починаючи з ре (D). Коло становить повну октаву. Ньютон розташував червоний і фіолетовий кінці спектра поруч один з одним, підкреслюючи, що зі змішання червоного і фіолетового кольорів утворюється пурпурний.

Для довідки

Історія наукових уявлень про колір. Перші пояснення спектру видимого випромінювання дали Ісаак Ньютон в книзі “Оптика” і Йоганн Гете в роботі “Теорія квітів”, проте ще до них Роджер Бекон спостерігав оптичний спектр в склянці з водою. Лише через чотири століття після цього Ньютон відкрив дисперсію світла в призмах. Ньютон першим використав слово спектр (лат. Spectrum – бачення, поява) у пресі в 1671 р, описуючи свої оптичні досліди. Він зробив спостереження, що, коли промінь світла падає на поверхню скляної призми під кутом до поверхні, частина світла відбивається, а частина проходить через скло, утворюючи різнокольорові смуги. Учений припустив, що світло складається з потоку частинок (корпускул) різних кольорів і що частинки різного кольору рухаються з різною швидкістю в прозорому середовищі. За його припущенням, червоне світло рухався швидше, ніж фіолетовий, тому і червоний промінь відхилявся на призмі не так сильно, як фіолетовий. Через це і виникав видимий спектр кольорів.

Ньютон розділив світло на сім кольорів: червоний, оранжевий, жовтий, зелений, блакитний, індиго і фіолетовий. Число сім він вибрав з переконання (що походить від давньогрецьких софістів), що існує зв’язок між квітами, музичними нотами, об’єктами Сонячної системи і днями тижня. Людське око відносно слабко сприймає частоти кольору індиго, тому деякі люди не можуть відрізнити його від блакитного або фіолетового кольору. Тому після Ньютона часто пропонувалося вважати індиго не самостійним кольором, а лише відтінком фіолетового або блакитного (проте він досі включений в спектр в західній традиції). У російській традиції індиго відповідає синьому кольору.

Гете, на відміну від Ньютона, вважав, що спектр виникає при накладенні різних складових частин світла. Спостерігаючи за широкими променями світла, він виявив, що при проході через призму на краях променя проявляються червоно-жовті та блакитні краю, між якими світло залишається білим, а спектр з’являється, якщо наблизити ці краї досить близько один до одного.

Довжини хвиль, які відповідають різним квітам видимого випромінювання, були вперше представлені в 1801 р Томасом Юнгом. Вони отримані шляхом переведення в довжини волі параметрів кілець Ньютона, виміряних самим ученим. Ці кільця Ньютон отримував пропусканням через лінзу, що лежить на рівній поверхні, розкладеного призмою в спектр світла, повторюючи експеримент для кожного з кольорів. У 1821 р Йозеф Фраунгофер поклав початок вимірюванню довжин хвиль спектральних ліній, отримавши їх від видимого випромінювання Сонця за допомогою дифракційної решітки [1] [2]. [2]

Фраунгофер виміряв кути дифракції теодолітомё [3] і обчислив довжини хвиль.

Таким чином, ще на початку XIX ст. стало можливим вимірювати довжини хвиль видимого випромінювання з точністю до декількох нанометрів. У XIX ст., Після відкриття ультрафіолетового та інфрачервоного випромінювань, розуміння видимого спектру стало більш точним.

  • [1]Дифракційна решітка – оптичний прилад, дія якого заснована на використанні явища дифракції світла. Являє собою сукупність великого числа регулярно розташованих штрихів (щілин, виступів), нанесених на деяку поверхню.
  • [2]Дифракція хвиль (від лат. Diffractus – буквально розламаний, переламаний, огибание перешкоди хвилями) – явище, яке проявляє себе як відхилення від законів геометричної оптики при поширенні хвиль.
  • [3]Теодоліт – прилад для вимірювання горизонтальних і вертикальних кутів при топографічних, геодезичних та маркшейдерських зйомках, в будівництві і т.п.

КОЛІР І ЙОГО ПОДАННЯ В КОМП’ЮТЕРІ

Одним з базових термінів в комп’ютерній графіці є колір. Далі ми будемо постійно мати справу з ним, тому необхідно дати йому коректне визначення. Незважаючи на те що колір є базовим поняттям, інтуїтивно зрозумілим кожному, строго визначити його досить складно.

Є кілька варіантів підходу до кольору, і найбільш очевидним з них є підхід, заснований на фізиці. Як відомо, світло – це потік електромагнітних хвиль. Спробуємо дати визначення кольору подібним чином.

Визначимо потік електромагнітних хвиль, що містить хвилі різної довжини X, за допомогою щільності енергії ( SPD , spectral power distribution) – функції 1 (Х). Задавши довжину хвилі X і деяку малу величину АХ , можна знайти загальну енергію, яка укладена в хвилях з довжинами від X до X + АХ, за допомогою наступного інтеграла:

На рис. 3.1 приведена спектральна функція для денного світла, звана Z) 65 .

Мал. 3.1. Спектральна функція для денного світла

Здається, що ми можемо зіставити кожному кольору свою спектральну функцію 1 (Х) і визначати далі колір з її допомогою. Такий підхід має зручний властивістю адитивності : якщо ми хочемо скласти два кольори (наприклад, точка висвітлюється двома джерелами різних кольорів), то просто складаємо відповідні спектральні функції. Однак насправді такий підхід для представлення кольорів не працює. Одне і те ж відчуття кольору (як його сприймає людина) викликається безліччю різних спектральних функцій. Такі спектральні функції, викликають один і той же відчуття кольору, називаються метамерами. Підхід, заснований на поданні кольору за допомогою спектральної кривої, не підходить, оскільки ми навіть не можемо однозначно зіставити кожному кольору єдину спектральну криву.

З цього випливає, що для побудови моделі кольору ми повинні спиратися в першу чергу на те, як працює людське око. Можна уявити очей людини як оптичний прилад, в якому є свій аналог об’єктиву – кришталик – і світлочутливий елемент – сітківка (рис. 3.2). За допомогою очі ми можемо бачити не всі електромагнітні хвилі, а тільки ті, довжина яких знаходиться приблизно в діапазоні 400-700 нм.

Мал. 3.2. Пристрій людського ока

Кришталик проектує видиме зображення на сітківку, покриту світлочутливими клітинами – паличками і колбочками. Палички, розташовані в основному але периферії сітківки, мають вкрай високою світлочутливістю, але при цьому слабо розрізняють довжину хвилі. Саме палички відповідають за так зване нічне зір і дозволяють бачити при поганому освітленні, але при цьому ми не розрізняємо кольору.

Якщо необхідно розглядати щось у темряві, то краще не дивитися прямо на об’єкт, а постаратися побачити його боковим зором. При цьому зображення потрапить на периферію сітківки, де знаходиться велика кількість паличок, що володіють високою світлочутливістю.

Колбочки, розташовані в основному в центрі сітківки, мають низьку світлочутливістю і вузьким діапазоном сприйманих довжин хвиль. Саме за рахунок цих клітин ми розрізняємо кольори, проте в силу їх низької світлочутливості ми погано розрізняємо кольору в темряві. Існують три типи колбочок, чутливих відповідно до коротким, середнім і довгим хвилям. Ці довжини приблизно відповідають червоному, зеленого і синього кольорів. На рис. 3.3 наведені нормалізовані чутливості колбочок до хвиль різних довжин.

Рис . 33. Графіки чутливості колбочок до хвиль різних довжин

Таким чином, ми приходимо до наступного принципу: кожен колір будемо представляти як суму трьох базових кольорів – червоного ( Red , г), зеленого (Green, g) і синього (Blue, b) – з заданими вагами. Саме ця трійка ваг (г, g, b) і буде задавати колір.

Відповідна модель отримала назву RGB, і безліч всіх представимо квітів є одиничним кубом (рис. 3.4). Таким чином, кожен колір представляється як тривимірний вектор, компоненти якого визначають частки червоного, зеленого і синього кольорів, які потрібно змішати, щоб отримати заданий колір.

У цій колірній моделі чорний колір представлений трійкою чисел (0, 0, 0), білий – трійкою (1, 1, 1), а діагональ куба, що з’єднує відповідні цим квітам вершини куба, відповідає відтінкам сірого кольору.

Легко зрозуміти, що ця модель представлення кольору також є адитивною. При цьому ми не визначили самі базові кольори: в залежності від вибору цих базових квітів буде змінюватися сам вектор, що представляє якийсь конкретний колір, тобто ця модель повинна бути прив’язаною до конкретних базових кольорів.

Мал. 3.4. Безліч всіх кольорів для моделі RGB

Іншим, набагато більш серйозним, недоліком моделі RGB є наступний. У 1920-х рр. У. Д. Райт і Дж. Гилд провели серію дослідів із залученням груп спостерігачів. Завданням цих дослідів було отримання ЛСВ-уявлень для великої групи кольорів, в першу чергу чистих спектральних (тобто складаються з хвиль з однієї і тієї ж довжиною хвилі) квітів.

У проведених дослідах спостерігачам показували дві точки: одна відповідала розкладати колір, а інша будувалася як результат накладення точок від трьох джерел – червоного, зеленого і синього кольорів. Завданням спостерігачів було домогтися ідентичності квітів обох точок шляхом зміни пропорцій червоного, зеленого і синього.

В результаті цих дослідів з’ясувалося, що далеко не всі кольори можна представити у вигляді суми червоного, зеленого і синього. Більш того, чисті спектральні кольори також не можна уявити таким чином. Однак при цьому виявилося, що якщо до розкладати колір додати певний базовий колір, то вийшов в результаті колір вже можна розкласти на суму базових. Фактично це відповідає тому, що для подання деяких квітів іноді виходять негативні ваги.

Оскільки використання негативних ваг вкрай незручно, в 1931 році була створена модель CIE XYZ – стандарт представлення кольору. У цій моделі кожен видимий людиною колір однозначно представлявся за допомогою трійки невід’ємних чисел ( X , У, Z), причому У-компонента відповідала сприймається людиною яскравості.

На рис. 3.5 наведені вагові функції для визначення кольору по його спектральної функції.

Мал. 35. Вагові функції для моделі XYZ

Для отримання .XYZ-координат кольору по спектральної функції використовують такі формули:

де k x (k), k y (X) і k 2 () S) – певні стандартом вагові функції.

Модель CIE XYZ є стандартом для представлення кольору, і всі інші колірні моделі виражаються через неї. Зокрема, існує стандарт для телебачення високої чіткості (так званий Rec 709), який явно задає використовувані кольори (червоний, зелений і синій) їх .XYZ-координатами:

У моделях CIE XYZ і RGB інформація про колір «розмазана» за всіма трьома компонентами. Відповідно, існують колірні моделі, в яких має місце явне поділ координат на яскравість і так звані хроматичні координати, що задають колір без урахування яскравості. Однією з таких моделей є Yxy, яка визначається за такими формулами:

Хроматичні координати х і у повністю визначають колір без урахування його яскравості. На рис. 3.6 приведена фігура (звана хроматичної діаграмою), яка містить хроматичні координати всіх видимих людиною квітів. На цьому зображенні дуга відповідає чистим спектральним кольорам, а відрізок – квітам, що виходять при змішуванні червоного і синього кольорів.

Мал. 3.6. хроматична діаграма

Якщо у нас є два різних кольору, то їм відповідають дві точки на хроматичної діаграмі. Розглянемо всі безліч квітів, які виходять шляхом змішування цих двох заданих кольорів. Даній безлічі відповідатиме відрізок на хроматичної діаграмі, причому кінці цього відрізка відповідають двом нашим кольорам.

Аналогічно, якщо у нас є три кольори, то безліч всіх кольорів, які представлені за допомогою їх змішування, буде трикутником на хроматичної діаграмі, при цьому вершини трикутника будуть відповідати цим трьом базовим квітам.

Звідси випливає висновок – ніякі три кольори (і взагалі ніяке кінцеве кількість кольорів) не можуть дати при змішуванні всі видимі людиною кольору.

Незважаючи на те що колірний простір CIE XYZ є стандартом, на практиці майже для всіх світловипромінюючих пристроїв використовують модель RGB , оскільки вона проста і зручна. Хоча ця модель не може дати все видимі людиною кольору, її, як правило, буває достатньо. Дивлячись на екран монітора, людина зазвичай не помічає, що далеко не всі кольори можуть бути відображені на ньому. Однак при друку кольорових зображень зазвичай застосовують зовсім іншу модель кольору. Розглянемо, чому це відбувається.

При кольорового друку на поверхню білого паперу наносяться шари барвників, кожен з яких відображає хвилі певної довжини, а решта хвилі – поглинає. Наприклад, коли ми бачимо червону крапку на аркуші паперу, це означає, що все хвилі, крім відповідних червоному кольору, були поглинені. Тому нанесення кольорового барвника на поверхню паперу зручніше розглядати як операцію віднімання якогось кольору з білого кольору паперу. Подібні колірні моделі зазвичай називаються субтрактівнимі.

У цій колірній моделі білий колір має координати (0, 0, 0), а чорний – (1,1,1). Відтінки сірого кольору мають вигляд (х, х, х).

Однак таке уявлення відтінків сірого кольору має ряд недоліків. Перш за все, кольорові чорнила досить дорогі. Крім того, якщо ми хочемо вивести точку чорного кольору, то нам потрібно накласти один на одного три точки різних кольорів. Якщо це накладення буде не дуже точним, то навколо чорної точки ми побачимо райдужний край, що на практиці дуже помітно. Тому часто до трьох базових кольорів моделі CMY додають четвертий колір – чорний ( ИасК ), отримуючи модель, яка називається CMYK. Нижче наведена формула для перекладу з CMY в CMYK:

Крім цих уявлень (моделей) кольору, існують і інші, більш відповідні для якихось певних цілей. Так, уявлення кольору в RGB (або CIE XYZ) зручно програмістам, але художники часто представляють кольори іншим чином – за допомогою яскравості (Value), насиченості (Saturation ) і тону (Hue). Така колірна модель називається HSV. При цьому насиченість кольору відображає, наскільки даний колір близький до сірого кольору тієї ж яскравості, і змінюється від 0 (сірий колір) до 1 (чистий колір). Тон задає відтінок чистого кольору і є кутом, що змінюється від 0 до 360 ° (рис. 3.7).

Мал. 3.7. Кольорова палітра HSV

Таким чином, всі безліч допустимих кольорів є перевернутою шестигранною пірамідою. Вершина цієї піраміди відповідає чорному кольору (для нього тон і насиченість не визначені), підстава – квітам з найбільшою яскравістю, бічні грані – чистим кольорам різної яскравості, висота – відтінкам сірого кольору.

Ряд графічних пакетів підтримує роботу з кольором в форматі HSV. На рис. 3.8 наведено діалог вибору кольору з пакета Paint.net.

Мал. 3.8. Вибір квітів в пакеті Paint.net

Для перетворення з формату RGB в HSV використовують такі формули:

Використовувана в моделі HSV величина V не є сприймається яскравістю кольору, яка зазвичай є зважену суму /? 67? -компонент:

Тут використовуються такі величини:

Крім моделі HSV ще існує модель HSL ( Hue , Saturation , Lightness). Кольорова палітра, відповідне цій моделі, зображено на рис. 3.9.

Мал. 3.9 . Кольорова палітра HSL

Для цієї моделі параметр L визначають за такою формулою (всі інші параметри обчислюють так само, як і для HSV):

Так само, як і для моделі HSV, величина L не є сприймається яскравістю кольору.

У розглянутих моделях яскравість – лінійна функція від вхідного сигналу. Однак якщо ми розглянемо основні графічні пристрої, такі як монітори, то ми зіткнемося з іншою ситуацією. Між вхідним сигналом (наприклад, подається на вхід напругою) і вихідним сигналом (яскравістю) існує нелінійна залежність, зазвичай записується у вигляді функції

Відповідно, якщо ми хочемо отримати на екрані вдвічі більшу яскравість, то /? & В-компоненти кольору (тобто вхідний сигнал, що подається на монітор) потрібно збільшити не в два рази. Тому часто до обчисленого значення кольору застосовують перетворення, зворотне до Ху, для того щоб компенсувати спотворення, що вноситься монітором. Цей процес називається гамма-корекцією.

Важливим кроком в гамма-корекції є визначення справжнього значення ступеня у для даного пристрою. Для визначення у на моніторах зазвичай вдаються до наступного способу: користувачеві показується два квадрата – один заповнений чорними і білими крапками (зазвичай використовується шаблон, як на шаховій дошці), а другий заповнений точками одного і того ж відтінку сірого кольору. Користувач може управляти яскравістю сірих точок, його завдання – підібрати таку яскравість, щоб ці два квадрата мали однакову середню яскравість. Для першого квадрата середня яскравість дорівнює 0,5, для другого – Ху. Підбір яскравості – це підбір такого х, що X * = 0,5. Знайшовши необхідне значення х, можна розрахувати і у.

Крім такого способу, існують і апаратні способи визначення у.

Контрольні питання і вправи

  • 1. Чому спектральні функції погано підходять для представлення кольору?
  • 2. Що таке метамери?
  • 3. Які колірні моделі ви знаєте? Вкажіть відмінності між ними.
  • 4. Напишіть на мові C ++ код для перекладу кольору між CIE XYZ і Rec 709.
  • 5. Напишіть на C ++ код для перекладу кольору між RGB і CMY.
  • 6. Напишіть на C ++ код для перекладу кольору між RGB і CMYK.
  • 7. Напишіть на C ++ функцію для перекладу кольору між моделями RGB та HSV.
  • 8. Напишіть на C ++ код для перекладу кольору між RGB і HSL.
  • 9. Поясніть, виходячи з хроматичної діаграми, чому не можна уявити все видимі людиною кольору за допомогою зваженої суми трьох кольорів.
  • 10. Напишіть функцію, яка змінює яскравість кольору, заданого в моделі RGB, в k раз.
  • 11. Напишіть функцію, яка змінює насиченість кольору, заданого в моделі RGB, в k раз.
  • 12. Напишіть функцію, визначальну, чи є заданий в моделі RGB колір зеленим без урахування яскравості.

Сорго для чогоСорго для чого

0 Comments 18:58


Зміст:1 Сорго. Види, застосування, корисні властивості2 Сорго: что это такое, польза и вред2.1 Что такое сорго?2.2 Питательная ценность сорго2.3 Польза сорго для здоровья человека2.3.1 1. Без глютена и ГМО2.3.2 2.

Як розвести фіалки кімнатніЯк розвести фіалки кімнатні

0 Comments 17:31


Зміст:1 Як правильно вирощувати кімнатні фіалки: основні поради з догляду2 Фіалки: догляд у домашніх умовах2.1 Багато світла, м’якого світла2.2 Легкий ґрунт для фіалок2.3 Невеликі горщики2.4 Головне питання – поливання фіалок2.5

Калорій у гречку вареної на водіКалорій у гречку вареної на воді

0 Comments 19:15


Зміст:1 Калорійність вареної гречки на воді: кількість калорій у гречаної каші, скільки ккал на 100 грам, бжу1.1 Особливості гречки1.2 Гречка варена: калорійність і бжу1.3 Як правильно варити гречану кашу1.4 Корисні