Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

RGB ja värit

5 views
Skip to first unread message

Vesa Lappalainen

unread,
Nov 16, 2001, 9:25:39 AM11/16/01
to
Älkää valittako sitten väärästä ryhmästä.
Graafisten käyttöliittymien OHJELMOINNIN luennolla tuli puheeksi se,
miten RGB-arvon voi laskea jos tietää haluamansa värin.
En osannut vastata tähän kysymykseen.
Arvelin että eri värien aallonpituuksien yhteisvaikutuksesta
silmä aistiin jokin tietyn värin.
Keltainenhan (255,255,0) on aallonpituudeltaan punaisen ja vihreän "välissä".
Vaaleansininen (0,255,255) vihreän ja sinisen "keskiarvo".
Mutta entä violetti (255,0,255)? Tuolla "keskiarvoperiaattella" olisi
pitänyt tulla vihreää (aallonpituuksien mukaan)?
Esim. Windowsin värivalitsimessa piirretään sinisen ja violetin jälkeen
vielä kerran punainen ja silloin violettikin sattuu "keskiarvoksi".


Mikä on totuus?
Ja voisivatko kuvaputken perusvärit olla muuta kuin RGB?
Esim. keltainen, vaaleansininen, violetti?
Entä vesivärejä sotkettaessa (RYB)?

Mikä on muunnoskaava välille RGB <=> (Hue, Sat, Lum)?

Vesa

[ Moderoijat tavoittaa osoitteesta saom-...@cc.jyu.fi ]
[ Ryhmän säännöt: http://www.iki.fi/gaia/saom/saannot.html ]
[ Ryhmän FAQ: http://www.iki.fi/gaia/faq/sao-faq.html ]

Kokkarinen Ilkka

unread,
Nov 16, 2001, 12:13:54 PM11/16/01
to
Vesa Lappalainen <ve...@tarzan.it.jyu.fi> writes:

>Älkää valittako sitten väärästä ryhmästä.
>Graafisten käyttöliittymien OHJELMOINNIN luennolla tuli puheeksi se,
>miten RGB-arvon voi laskea jos tietää haluamansa värin.

http://research.microsoft.com/~hollasch/cgindex/color/freq-rgb.html

Charles Poyntonin Color FAQ on myös lukemisen arvoinen dokumentti,
ihan muutenkin kuin tässä esitettyjen kysymysten kannalta.

>En osannut vastata tähän kysymykseen.
>Arvelin että eri värien aallonpituuksien yhteisvaikutuksesta
>silmä aistiin jokin tietyn värin.

Silmässä on kolmenlaisia soluja, joista kukin aistii valoa joltakin
aallonpituuksien alueelta siten, että eri tyyppiset solut ovat toi-
sia herkempiä eri aallonpituuksille. Aistittu väri määräytyy siis
jotenkin koko energiaspektrin muodosta.

Kaksi eri energiaspektriä voivat tuottaa saman väriaistimuksen, jol-
loin kyseessä ovat niin kutsutut metameerit. Erityisesti jos jokin
väriaistimus voidaan tuottaa sellaisella spektrillä, jossa on ener-
giapiikki jonkun tietyn aallonpituuden kohdalla ja muualla tasainen
energia (joka on erityisesti puhtaan värin tapauksessa 0), niin ky-
seisen aallonpituuden sanotaan olevan värin dominantti aallonpituus.

Mutta mistäpä toisaalta voisimme tietää edes sen, ovatko sinun ja mi-
nun pään sisällä tapahtuvat väriaistimukset samoja, vaikka katsoisim-
me yhtä aikaa samaa kappaletta...

>Ja voisivatko kuvaputken perusvärit olla muuta kuin RGB?

Voisivat, mutta käytettävät värit kannattaa tietysti valita siten,
että niitä sopivasti summaamalla saadaan aikaan suuri määrä tarvitta-
via värejä. Koska kuvaputkella summassa voidaan käyttää vain positii-
visia painokertoimia (eli väriin voi vain lisätä, muttei vähentää),
niin tässä mielessä parhaiten toimivat perusvärit ovat sellaisia,
että ne aistitaan punaisena, vihreänä ja sinisenä.

--
"“Ihave eyes on my hands, making it impossible for anyone to hurt me."
--- The Ten-Eyed Man

Jukka Kohonen

unread,
Nov 16, 2001, 12:10:16 PM11/16/01
to
Vesa Lappalainen <ve...@tarzan.it.jyu.fi> writes:
>Arvelin että eri värien aallonpituuksien yhteisvaikutuksesta
>silmä aistiin jokin tietyn värin.

Näinhän tietysti on.

Yksinkertaistettuna: Silmässä tapahtuu signaalin projisointi hyvin
korkeaulotteisesta avaruudesta (kutakin aallonpituutta on jollakin
intensiteetillä) vain 3-ulotteiseen avaruuteen (verkkokalvolla kolmea
eri tavoin reagoivaa värisolua, kullakin solutyypillä erilainen
vastekäyrä tulevalle signaalille => projisoidaan signaaliksi (a,b,c)
jossa a on ekan solutyypin aktiivisuus, b tokan jne.).

Näin latistettu signaali jatkaa kulkuaan aivoihin jossa sitä edelleen
käsitellään ties miten.

Koska jo silmässä hukattiin väri-informaatiota projisoinnissa,
nähdään, että hyvin moni erilainen väriärsyke tuottaa saman
väriaistimuksen. Esim. jokin vihreä valo voi näyttää samalta kuin
jokin sekoitus jotain sinistä valoa ja jotain keltaista valoa, vaikkka
silmään tuleva ärsyke onkin erilainen.


>Keltainenhan (255,255,0) on aallonpituudeltaan punaisen ja vihreän "välissä".
>Vaaleansininen (0,255,255) vihreän ja sinisen "keskiarvo".
>Mutta entä violetti (255,0,255)? Tuolla "keskiarvoperiaattella" olisi
>pitänyt tulla vihreää (aallonpituuksien mukaan)?

Keskiarvoperiaate ei toimi. Silmän tekemä väriavaruuden muunnos ei
toimi ottamalla aallonpituuksien keskiarvoja.


>Mikä on totuus?
>Ja voisivatko kuvaputken perusvärit olla muuta kuin RGB?
>Esim. keltainen, vaaleansininen, violetti?
>Entä vesivärejä sotkettaessa (RYB)?

Voi käyttää muitakin perusvärejä. Idea on valita sellaiset, joita
sotkemalla saadaan tuotettua mahdollisimman moni niistä
väriärsykkeistä, joita halutaan tuottaa. Kaikkia "mahdollisia" värejä
ei kolmella perusvärillä saada, mutta yleensä "riittävän moni".

Jos otetaan kovin lähellä toisiaan olevat kolme perusväriä,
esim. sinertävä keltainen, punertava keltainen, rusehtava keltainen,
niin saadaan esitettyä kovin pieni osa koko ihmissilmän näkemästä
väriavaruudesta, mikä on huono juttu.

Tietysti perusvärien on myös syytä olla sellaiset, että ne saadaan
käytettävissä olevalla teknologialla riittävän hyvin tuotettua.


>Mikä on muunnoskaava välille RGB <=> (Hue, Sat, Lum)?

Kaavoja on monia erilaisia. Lue aluksi vaikkapa Colorspace FAQ
<http://www.faqs.org/faqs/graphics/colorspace-faq/> niin saat tietää
muunnoskaavoista enemmän kuin haluatkaan ;)

--
Jukka....@iki.fi
* Are you sure you don't want to cancel? Yes | No | Cancel

Lauri Alanko

unread,
Nov 16, 2001, 12:12:03 PM11/16/01
to
In article <9t3h9q$3lh$1...@mordred.cc.jyu.fi>,

Vesa Lappalainen <ve...@tarzan.it.jyu.fi> wrote:
>Arvelin että eri värien aallonpituuksien yhteisvaikutuksesta
>silmä aistiin jokin tietyn värin.

Kyllä. Mutta erilaisia spektrejä on rajaton määrä, kun taas
näköhavainnon värillä on vain kolme "vapausastetta", eli kolmen
erilaisen verkkokalvosolun ärsykkeet. Nämä eri solut ovat herkkiä
eri aallonpituuksille, lähinnä niille, joita kutsumme punaiseksi,
vihreäksi ja siniseksi.

>Keltainenhan (255,255,0) on aallonpituudeltaan punaisen ja vihreän "välissä".

Mahdollisesti. Mutta tietokoneruudulla näkyvä keltainen muodostuu
punaisen ja vihreän aallonpituuden yhdistelmästä, ei niiden
keskiarvosta. Sekä yksiaallonpituuksinen keltainen että tämä
yhdistelmäaalto ärsyttävät sekä punaista että keltaista havaitsevaa
näkösolua, joten kummankin aiheuttama värihavainto on suunnilleen sama.
(Ei tosin välttämättä _tarkalleen_ sama. RGB-monitori ei voi koskaan
toistaa _kaikkia_ ihmisen havaitsemia värejä.)

>Vaaleansininen (0,255,255) vihreän ja sinisen "keskiarvo".

Tai yhdistelmä.

>Mutta entä violetti (255,0,255)? Tuolla "keskiarvoperiaattella" olisi
>pitänyt tulla vihreää (aallonpituuksien mukaan)?

Aivan. Sinipunainen valo onkin sellaista, jossa on sekä lyhyt- että
pitkäaaltoista säteilyä. Se ärsyttää kahta verkkokalvon solutyyppiä,
mutta ei vihreää havaitsevia soluja.

>Esim. Windowsin värivalitsimessa piirretään sinisen ja violetin jälkeen
>vielä kerran punainen ja silloin violettikin sattuu "keskiarvoksi".
>Mikä on totuus?
>Ja voisivatko kuvaputken perusvärit olla muuta kuin RGB?
>Esim. keltainen, vaaleansininen, violetti?

Ei. Koska näytön värit toimivat additiivisesti, eli aloitetaan mustasta
ruudusta ja siihen lisätään joitain värielementtejä, ei tuolla
yhdistelmällä saa aikaan perusvärejä. Jos yhdistät keltaista ja
vaaleansinistä, saat tulokseksi hyvin vaaleanvihreätä, eli spektrissä on
korkea huippu vihreän kohdalla ja pari matalampaa huippua punaisen ja
sinisen kohdalla. Kirkkaanvihreää (eli ilman niitä matalia huippuja) et
saa aikan.

>Entä vesivärejä sotkettaessa (RYB)?

Vesiväreistä en ole ihan varma. _Painovärit_ ovat subtraktiivisia, eli
aloitetaan valkoiselta, kaikkea valoa heijastavalta pinnalta, ja
lisätään sen päälle aineita, jotka absorboivat tiettyjä aallonpituuksia.
Tällöin syaani-keltainen-magenta -painoväriyhdistelmällä saa aikaan
mahdollisimman monia erilaisia ärsykeyhdistelmiä verkkokalvon soluille.
Vesivärit saattavat käyttäytyä monimutkaisemmin, joten niistä en uskalla
sanoa.

>Mikä on muunnoskaava välille RGB <=> (Hue, Sat, Lum)?

Riippuu vähän kaikesta. Kaavoja ja muuta lisätietoa saat osoitteesta
<http://www.inforamp.net/~poynton/notes/colour_and_gamma/ColorFAQ.html>


Lauri Alanko
l...@iki.fi

Janne Koponen

unread,
Nov 16, 2001, 12:12:41 PM11/16/01
to
Vesa Lappalainen wrote:

> Älkää valittako sitten väärästä ryhmästä.
> Graafisten käyttöliittymien OHJELMOINNIN luennolla tuli puheeksi se,
> miten RGB-arvon voi laskea jos tietää haluamansa värin.
> En osannut vastata tähän kysymykseen.
> Arvelin että eri värien aallonpituuksien yhteisvaikutuksesta
> silmä aistiin jokin tietyn värin.

Silmässä on kahdenlaisia soluja, sauva- ja tappisoluja. Näistä
sauvasolut ovat apuna pimeänäössä. Tappisoluja on puolestaan kolmelle
eri aallonpituusalueelle herkistyneitä (vaikka kaikki aistivatkin
kaikkia näkyvän valon aallonpituuksia ainakin jonkinverran). Nämä
herkkyysmaksimit ihminen aistii punaisena, vihreänä ja sinisenä.

> Keltainenhan (255,255,0) on aallonpituudeltaan punaisen ja vihreän "välissä".


Ärsyttää siis "punaisia" ja "vihreitä" tappisoluja.

> Vaaleansininen (0,255,255) vihreän ja sinisen "keskiarvo".


Ärsyttää siis "sinisiä" ja "vihreitä" tappisoluja.


> Mutta entä violetti (255,0,255)? Tuolla "keskiarvoperiaattella" olisi

Ärsyttää siis "sinisiä" ja "punaisia" tappisoluja.


> pitänyt tulla vihreää (aallonpituuksien mukaan)?
> Esim. Windowsin värivalitsimessa piirretään sinisen ja violetin jälkeen
> vielä kerran punainen ja silloin violettikin sattuu "keskiarvoksi".


Näin toimitaan (lähes) kaikissa muissakin värijärjestelmissä.

>
>
> Mikä on totuus?
> Ja voisivatko kuvaputken perusvärit olla muuta kuin RGB?

> Esim. keltainen, vaaleansininen, violetti?

Tällöin erilaisten havaittavien värien määrä vähenee, koska jos värit
valitaan kovin paljon noiden em. herkkyysmaksimien ulkopuolelta, niin
väri alkaa vaikuttaa myös "toisen värisen" tappisolun ärsykkeeseen.


> Entä vesivärejä sotkettaessa (RYB)?

Värinmuodostusta on kahdenlaista, additiivista ja subtraktiivista. Ensin
mainittu tapahtuu valoja sekoitettaessa, siis esim. kuvaputken
tapauksessa. Toinen taas sotkettaessa väriaineita, siis esim.
sotkettaessa vesivärejä.

Valitan esityksen sekavuutta, mutta kun tänne on hankala kirjoittaa
matemaattista tekstiä ja laittaa kuvia väliin.

Laita sähköpostia, niin tuon artikkelin aiheesta ensi viikolla jos
kiinnostaa.

Janne

Mika Iisakkila

unread,
Nov 16, 2001, 12:14:22 PM11/16/01
to
Vesa Lappalainen <ve...@tarzan.it.jyu.fi> writes:
> Graafisten käyttöliittymien OHJELMOINNIN luennolla tuli puheeksi se,
> miten RGB-arvon voi laskea jos tietää haluamansa värin.
> En osannut vastata tähän kysymykseen.

Eikä sitten ihan helppoa itse asiassa kysyttykään; tuosta on
kirjoitettu kirjoja...

> Ja voisivatko kuvaputken perusvärit olla muuta kuin RGB?
> Esim. keltainen, vaaleansininen, violetti?

Voisivat. Mutta koska kyseessä on additiivinen värinmuodostus, R, G ja
B tuottavat laajimman mahdollisen skaalan värejä, joita on mahdollista
silmälle saada aikaan. Pitää tietysti myös määritellä mitkä ne
perusvärit R, G ja B tarkasti ovat -- siitäkin on olemassa eri
standardeja, ja tietysti lukuisia tuotteita jotka eivät noudata mitään
niistä.

> Mikä on muunnoskaava välille RGB <=> (Hue, Sat, Lum)?

Tähänkin pitää ensin määritellä RGB.

Aiheeseen liittyvät perusasiat on kerrottu paremmin kuin minä
(tai edes kovin moni muu) sen osaisin Charles Poyntonin sivuilla,
<http://www.inforamp.net/~poynton/>.
--
http://www.hut.fi/u/iisakkil/ --Foo.

Jukka Aho

unread,
Nov 21, 2001, 11:47:29 PM11/21/01
to
"Vesa Lappalainen" <ve...@tarzan.it.jyu.fi> wrote:

> Graafisten käyttöliittymien OHJELMOINNIN luennolla tuli puheeksi
> se, miten RGB-arvon voi laskea jos tietää haluamansa värin.

Kirjoitin taannoin aihetta jossain määrin sivuavan artikkelin
ryhmään sfnet.harrastus.audio+video. Google on sen arkistoinut:
<http://groups.google.com/groups?selm=93r7kf%246bu%241%40tron.sci.fi>.

-- znark

Vesa Lappalainen

unread,
Nov 22, 2001, 2:19:21 AM11/22/01
to
Jukka Aho <jukk...@iki.fi> wrote:
> "Vesa Lappalainen" <ve...@tarzan.it.jyu.fi> wrote:

>> se, miten RGB-arvon voi laskea jos tietää haluamansa värin.
> Kirjoitin taannoin aihetta jossain määrin sivuavan artikkelin


Kiitoksia kaikille vastanneille. Mielestäni tästä tuli
ihan hyvä "tietopankki" asiasta kiinnostuneille.
Laitoin linkit kurssini sivuille:

http://www.mit.jyu.fi/~vesal/kurssit/winohj01/materiaali/#LUENTO20

Vesa

0 new messages