Jasność piksela można policzyć na dwa sposoby.
Pierwszy - najprostszy, to uśrednianie, wszystkie 3 składowe (R, G i B) dodajesz do siebie i dzielisz wynik przez 3. Niestety metoda ta nie zgadza się z postrzeganiem jasności przez człowieka. Oko ma różną czułość na różne barwy. I wypada wykorzystać:
Sposób drugi - średnia ważona. Każdy kolor mnożony jest z odpowiednią wagą, tak, aby odpowiadał on charakterystyce czułości oka. Nie pamiętam teraz dokładnych wartości, ale w przybliżeniu (chodzi o wartości współczynników) wygląda to tak:
Y = 0.3*R + 0.59*G + 0.11*B
Otrzymana w ten sposób wartość to luminancja.
I tu mam właśnie problem chce zamienic każdy kolejny piksel na nową wartość obliczoną z w/w wzoru. Nie znam wogole funkcji lub polecenia do tego. Jeśli ktoś może mi pomóc w zapisaniu obrazu w 8-bitach (256kolorach). Please
Pierwszy - najprostszy, to uśrednianie, wszystkie 3 składowe (R, G i B) dodajesz do siebie i dzielisz wynik przez 3. Niestety metoda ta nie zgadza się z postrzeganiem jasności przez człowieka. Oko ma różną czułość na różne barwy. I wypada wykorzystać:
Sposób drugi - średnia ważona. Każdy kolor mnożony jest z odpowiednią wagą, tak, aby odpowiadał on charakterystyce czułości oka. Nie pamiętam teraz dokładnych wartości, ale w przybliżeniu (chodzi o wartości współczynników) wygląda to tak:
Y = 0.3*R + 0.59*G + 0.11*B
Otrzymana w ten sposób wartość to luminancja.
I tu mam właśnie problem chce zamienic każdy kolejny piksel na nową wartość obliczoną z w/w wzoru. Nie znam wogole funkcji lub polecenia do tego. Jeśli ktoś może mi pomóc w zapisaniu obrazu w 8-bitach (256kolorach). Please