RGB

Het RGB-kleursysteem is een kleurcodering, een manier om een kleur uit te drukken met behulp van een combinatie van de drie primaire kleuren red, green en blue, uitgaande van additieve kleurmenging. De hoeveelheid van elke primaire kleur die benodigd is om de mengkleur te verkrijgen, wordt uitgedrukt in een getal dat uit 8 bits bestaat en kan variƫren tussen 0 en 255. Zo is rood $$(255, 0, 0)$$ en geel $$(255,255,0)$$

RGB
RGB

RGB kleurenmodel

YIQ

Een ander systeem om een kleur te omschrijven is het ondertussen in onbruik geraakte YIQ-kleursysteem. Deze codering wordt gedaan aan de hand van luminatie- en chrominantie-informatie. Het YIQ-systeem werd in 1953 nog gebruikt bij een televisiecodeersysteem: het NTSC-codeersysteem. Tegenwoordig wordt in het NTSC-codeersysteem gebruikgemaakt van YUV en is het YIQ-systeem overbodig geworden.


YIQ
YIQ

RGB kleurenkubus geconverteerd naar YIQ kleurenruimte

Van RGB naar YIQ

Kleuren in RGB kan je makkelijk omzetten naar kleuren in YIQ. Hiervoor gebruik je volgende transformatie: \[\begin{bmatrix} Y \\ I \\ Q \end{bmatrix} = \begin{bmatrix} 0.299 & 0.587 & 0.114 \\ 0.596 & -0.274 & -0.322 \\ 0.211 & -0.523 & 0.312 \end{bmatrix} \begin{bmatrix} R \\ G \\ B \end{bmatrix}\]

Opgave

Programmeer de functie yiq waaraan je een kleur als RGB-tuple meegeeft. De functie geeft hetzelfde kleur terug als YIQ-tuple. De YIQ-waarden rond je af tot 4 cijfers na de komma.

Voorbeeld

>>> yiq((0, 0, 0))
(0.0, 0.0, 0.0)
>>> yiq((255, 255, 255))
(255.0, -0.0, 0.0)
>>> yiq((82, 227, 112))
(170.535, -49.39, -66.475)

Bronnen

YIQ volgens Wikipedia (2018). 1

RGB volgens Wikipedia (2018). 2