Hogyan tudom kiszámolni az RGB szinekből a grayscale-t?
Figyelt kérdés
Hello! A kérdésem konkrétan: kiolvasom egy .bmp file egy pixel-éből az RGB szineket, pl: (169, 69, 19). Nekem az ehhez tartozó fekete-fehér szin kéne (grayscale). Egy weboldallal kiszámitottam: 78 %, vagy másképpen: #373737. Hogyan tudnám ezt kiszámolni, esetleg van-e ilyen függvény C, C++ -ban? Köszi!2012. febr. 6. 12:10
1/4 iostream válasza:
"Then, add together 30% of the red value, 59% of the green value, and 11% of the blue value"
Tehát veszed a súlyozott átlagukat, 30 súllyal a vörös, 59 súllyal a zöld és 11 súllyal a kék értéket.
2/4 _Jessy_ válasza:
Luminance alapján:
Rnew = Gnew = Bnew = 0.21 R + 0.71 G + 0.07 B
3/4 iostream válasza:
Ez mindig ízlés kérdése, legalábbis a wikicikk szerint több ilyen arány is van elfogadott. Ez amit beírtam, ezt használja a Qt QGray függvénye is.
4/4 _Jessy_ válasza:
Igazad van iostream. Általában azt tartják a legélethűbbnek, amit leírtam, de nem szeretik, mert a lebegőpontos számolás eléggé lassú dolog. Van még valamilyen bitshiftelős formula, ha gyorsan akarod megcsinálni, akkor érdemes azt használni. További formulák keresését az olvasóra bízom :)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!