🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.misc.elektronika
Article #798443

Re: daltonizm

#798443
From: J.F
Date: Wed, 29 Oct 2025 18:00
70 lines
5018 bytes
On Wed, 29 Oct 2025 17:25:54 +0100, in pl.misc.elektronika you wrote:
> Pan J.F napisał:
>> jak np cyan (0, 200, 200) wychodzi zbyt zielony, to raczej
>> skutek tego, ze w monitorze kanał G za mocny, albo B za słaby.
>> I to się da skorygować na każdym z kanałów z osobna :-)
> 
> Kiedyś poprawiałem po kimś driver sterujący diodami RGB. Różnice
> jasności diod były takie, że nie dało się na pałę ustawić żółtego
> #FFFF00, bo był dalej zielony, prawie jak #00FF00. Pasowało coś
> bliżej #FF0F00.

F0 (240) czy 0F = 15 ?

No ale o tym mówie - jak zielony jest za mocny, czy czerwony za słaby, 
to ... "współczynnik wzmocnienia" pewnie nie wystarczy, 
bo jaskrawość jest nieliniową funkcją danych z karty video,
ale powinny wystarczyć trzy tablice LUT, po jednej na kanał, 
którymi "wyrównasz jasności" poszczególnych kanałów. (*1)
Ale to "zielony za mocny" jest w miarę uniwersalne - przeszkadza w 
zółtym, to będzie przeszkadzało i cyjanie, i w białym. 
I współczynnik korekcji powinien być taki sam. (*1)

Ale jak się okaże, że w jednej partii mamy zielone LED "z lekką 
domieszką niebieskiego", a w drugiej "wpadające w zółć", znaczy się
z domieszką czerwonego, to tak jak Pawel pisze - do zielonego 
wypadałoby domieszac przeciwną odchyłkę, aby utrzymać ten zielony.

i np z danych (0, 250, 0) zrobic (50, 250, 0).
Tu kanał wejsciowy G wpływa na kanał wyjsciowy R !
LUTy się komplikują :-)

A żeby zrobić na takiej matrycy żółty, to z (250, 250, 0)
trzeba by zrobić ... sam już nie wiem co dokładnie, ale generalnie 
podnieść czerwony, może (300, 250, 0), może tylko (280, 250, 0) (*1)

Ale potem chcemy otrzymać cyan (0, 250, 250), i tu już nie dodajemy 
czerwonego, tylko zmieniamy proporcje - skoro nasza zielona LED juz 
jest lekko cyjanowa, to może wystarczy (0, 250, 200).

Hm, a może i przy zielonym i zółtym trzeba zacząc od odjęcia 
niebieskiego, czyli zrobic (0, 250, -50) i (250, 250, -50),
a potem ewentualnie myślec co zrobić jak są składowe ujemne :-)
Dodac dopełniającego koloru ? 


*1 - przez te cholerne nielinowosci, i oka i monitora, to się to 
komplikuje, bo kolor np pomaranczowy, który powinien się składać z 
zółtego i czerwonego, powiedzmy poł na pół, ale żółty się składa z 
czerwonego i zielonego też po połowie, to mi wychodzi ze pomarańczowy
powinien mieć 75% R i 25% G, albo innymi słowy - 3x mniej zielonego 
niż czerwonego. 
Ale jak to przeliczyc na dane z karty? (240, 80, 0) będzie dobre, 
czy raczej trzeba coś blizej (240, 160, 0), bo te 160 to 
nieproporcjonalnie mniej czerwonego niż 240 zielonego.

A jak będę chciał mniej jasny pomaranczowy, to trzeba (120, 40, 0), 
(120, 80, 0) czy jeszcze inaczej ?


A oko tak liniowo reaguje? Bo ja tak opisowo - wezmy 50:50% R i G, 
wyjdzie zółty, potem 50:50% Y i R - wyjdzie pomarańczowy, 
ale jak do jednych czopków doleci 3x mniej niż do drugich, 
to jakie będzie wrażenie? Logarytmiczne?
No nie, model CIE zakłada liniowe mieszanie, i ponoć się sprawdza.


*2 - a potem ktoś sobie ustawi monitor na 9300K, i ja już nie mam 
pomysłu jak dane RGB przeliczyc dla róznych kolorów :-)

J.
Technical Details
Message-ID: <gxgvf3x24l3g$.1q0l206sf7x9z$.dlg@40tude.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.public-gprs242040.centertel.pl!not-for-mail
References: <10d9tka$vlg$1@news.chmurka.net> <HrAKQ.187142$mk74.93089@fx15.ams1> <jp2vecdr6pn.afsp4lfv4wfd.dlg@40tude.net> <DMUKQ.58748$PC86.23583@fx16.ams1> <slrn10fpfr7.5rk9.jaros@falcon.lasek.waw.pl> <10dl0jk$ic7$1@news.chmurka.net> <slrn10fui3f.bk4i.jaros@falcon.lasek.waw.pl> <14ukgpngujw0i.1kfkxlrvv4iqf$.dlg@40tude.net> <slrn10fuvpu.41k.jaros@falcon.lasek.waw.pl> <4pq30g5hly6y$.1ge3p8tz0j92n.dlg@40tude.net> <slrn10fv7ua.60r.jaros@falcon.lasek.waw.pl> <47tkkxv3kfu3$.1cm894n39ic86$.dlg@40tude.net> <slrn10g19g9.2fb8.jaros@falcon.lasek.waw.pl> <1l8dyfr8hxpim$.3fk8f46d9ncf$.dlg@40tude.net> <10drbfn$1jl$2@news.chmurka.net> <10dsuf3$at6$3@news.chmurka.net> <slrn10g40ik.758p.jaros@falcon.lasek.waw.pl> <6k5wiaatd240.1bspsbryf9dmr$.dlg@40tude.net> <10dt89g$ohe$1@news.chmurka.net> <1jjqtzhr4x84j.1bhn6gh348wg9.dlg@40tude.net> <slrn10g4g0i.7rlo.jaros@falcon.lasek.waw.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.public-gprs242040.centertel.pl!not-for-mail
From: "J.F" <jfox_xnospamx@poczta.onet.pl>
Newsgroups: pl.misc.elektronika
Subject: Re: daltonizm
Date: Wed, 29 Oct 2025 19:00:18 +0100
Organization: news.chmurka.net
Message-ID: <gxgvf3x24l3g$.1q0l206sf7x9z$.dlg@40tude.net>
References: <10d9tka$vlg$1@news.chmurka.net> <HrAKQ.187142$mk74.93089@fx15.ams1> <jp2vecdr6pn.afsp4lfv4wfd.dlg@40tude.net> <DMUKQ.58748$PC86.23583@fx16.ams1> <slrn10fpfr7.5rk9.jaros@falcon.lasek.waw.pl> <10dl0jk$ic7$1@news.chmurka.net> <slrn10fui3f.bk4i.jaros@falcon.lasek.waw.pl> <14ukgpngujw0i.1kfkxlrvv4iqf$.dlg@40tude.net> <slrn10fuvpu.41k.jaros@falcon.lasek.waw.pl> <4pq30g5hly6y$.1ge3p8tz0j92n.dlg@40tude.net> <slrn10fv7ua.60r.jaros@falcon.lasek.waw.pl> <47tkkxv3kfu3$.1cm894n39ic86$.dlg@40tude.net> <slrn10g19g9.2fb8.jaros@falcon.lasek.waw.pl> <1l8dyfr8hxpim$.3fk8f46d9ncf$.dlg@40tude.net> <10drbfn$1jl$2@news.chmurka.net> <10dsuf3$at6$3@news.chmurka.net> <slrn10g40ik.758p.jaros@falcon.lasek.waw.pl> <6k5wiaatd240.1bspsbryf9dmr$.dlg@40tude.net> <10dt89g$ohe$1@news.chmurka.net> <1jjqtzhr4x84j.1bhn6gh348wg9.dlg@40tude.net> <slrn10g4g0i.7rlo.jaros@falcon.lasek.waw.pl>
MIME-Version: 1.0
Injection-Info: news.chmurka.net; posting-account="jfoxwr"; posting-host="public-gprs242040.centertel.pl:31.60.92.185"; logging-data="9863"; mail-complaints-to="abuse-news.(at).chmurka.net"
User-Agent: 40tude_Dialog/2.0.15.1
Cancel-Lock: sha1:uDaZ8SCVbnSz8uFijIZdytpSf4M= sha256:mhrkbCM768nyMmbaD+vfXJ4iZSCa+ur/dnqTLB+yd7Q= sha1:VyB3HqEMZ3SyST+6tcDY+ua6/1c= sha256:TPqgBZZhyzuFsea+ZdU6VbreBLYxpAxCO7nV7ly3er4=
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit