Orario: 20-06-2013, 0:14 Benvenuto ospite! (Log inRegistrati)


Rispondi 
[OpenTK]Desaturizzare un'immagine
Autore Messaggio
Frank Lioty
code butcher

Messaggi: 194
Registrato: Oct 2009
Offline Offline
#1 [OpenTK]Desaturizzare un'immagine
0
Salve ragazzi,
ho cercato ripetutamente online, provato varie soluzioni ma senza risultati. Vorrei desaturizzare una texture. Ho letto in giro che una soluzione consiste nel calcolare le componenti "medie" della texture per poi moltiplicare:

Codice:
r * 0.59
g * 0.3
b * 0.11

Ho quindi implementato una funzione per il calcolo delle componenti:

Codice:
private void Average_Color(Bitmap bitmap, ref double r, ref double g, ref double b) {
  Color c = new Color();
  int pixel_number = 0;
  r = 0;
  g = 0;
  b = 0;

  for (int i = 0; i < bitmap.Width; i++) {
    for (int j = 0; j < bitmap.Height; j++) {
      c = bitmap.GetPixel(i, j);
        r += c.R;
        g += c.G;
        b += c.B;
        pixel_number++;
    }
  }
  r /= pixel_number;
  g /= pixel_number;
  b /= pixel_number;
}

e al momento del render:

Codice:
Average(bitmap, ref r, ref g, ref b);
GL.Color3(r * 0.59 / 255, g * 0.3 /255, b * 0.11 / 255);
//qui disegno la texture

non ottengo però la bitmap in grayscale come mi aspettavo Disapprovazione Cosa sbaglio?

Francesco Liotta

Twitter: FrankLioty | Fan page: The Wardrobe | Blog: AdventureDev | YouTube Channel: FrankLioty1 |
G+: Francesco Liotta
(Questo messaggio è stato modificato l'ultima volta il: 19-07-2012 10:05 da Frank Lioty.)
19-07-2012 2:55
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
TheCrib
Indie Pellerossa

Messaggi: 5,295
Registrato: Sep 2010
Offline Offline
#2 RE: [OpenTK]Desaturizzare un'immagine
0
(19-07-2012 2:55)Frank Lioty ha scritto:  indovinate un po'? Non funziona Disapprovazione Cosa sbaglio?

E' semplice e vorrei rispondere ma hai scritto "non funziona"... AARRGH !!!!

Davide Pasca
http://v5.kazzuya.com - @109mae
http://oyatsukai.com - @oyatsukai
"O frechete !" - M.Magnotta
19-07-2012 6:08
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Frank Lioty
code butcher

Messaggi: 194
Registrato: Oct 2009
Offline Offline
#3 RE: [OpenTK]Desaturizzare un'immagine
0
sei proprio un troll Fermofumo. Va beh, avevo sonno Selo

Edito.

Francesco Liotta

Twitter: FrankLioty | Fan page: The Wardrobe | Blog: AdventureDev | YouTube Channel: FrankLioty1 |
G+: Francesco Liotta
19-07-2012 10:04
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
TheCrib
Indie Pellerossa

Messaggi: 5,295
Registrato: Sep 2010
Offline Offline
#4 RE: [OpenTK]Desaturizzare un'immagine
0
(19-07-2012 10:04)Frank Lioty ha scritto:  sei proprio un troll Fermofumo. Va beh, avevo sonno Selo

Edito.

Non ottieni la bitmap in grayscale ? Ne deduco che rimane a colori ? 8P

Comunque il concetto e' che:

Codice:
luminosity = (color_pixel.r + color_pixel.g + color_pixel.b) / 3;
grayscale_pixel.r = luminosity;
grayscale_pixel.g = luminosity;
grayscale_pixel.b = luminosity;

Quindi, dovresti creare una nuova bitmap.

Quei valori che hai sono opzionali. Sono dei pesi per fare la media pesata, piuttosto che la media semplice che ho usato io.

La ragione di quella media pesata e' per simulare la percezione della luminosita' dei colori da parte dell'occhio.. e' una cosa un po' empirica.

Davide Pasca
http://v5.kazzuya.com - @109mae
http://oyatsukai.com - @oyatsukai
"O frechete !" - M.Magnotta
19-07-2012 10:52
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Frank Lioty
code butcher

Messaggi: 194
Registrato: Oct 2009
Offline Offline
#5 RE: [OpenTK]Desaturizzare un'immagine
0
(19-07-2012 10:52)TheCrib ha scritto:  Quindi, dovresti creare una nuova bitmap.

mi sfuggiva proprio quello, grazie mille, per la pazienza soprattutto Fermose, FUNZIONA Asd

Francesco Liotta

Twitter: FrankLioty | Fan page: The Wardrobe | Blog: AdventureDev | YouTube Channel: FrankLioty1 |
G+: Francesco Liotta
19-07-2012 11:34
Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
TheCrib
Indie Pellerossa

Messaggi: 5,295
Registrato: Sep 2010
Offline Offline
#6 RE: [OpenTK]Desaturizzare un'immagine
0
(19-07-2012 11:34)Frank Lioty ha scritto:  
(19-07-2012 10:52)TheCrib ha scritto:  Quindi, dovresti creare una nuova bitmap.

mi sfuggiva proprio quello, grazie mille, per la pazienza soprattutto Fermose, FUNZIONA Asd

Cool.. la mia buona opera quotidiana l'ho fatta.. adesso posso tornare a terrorizzare vecchi e bambini 8)

Davide Pasca
http://v5.kazzuya.com - @109mae
http://oyatsukai.com - @oyatsukai
"O frechete !" - M.Magnotta
19-07-2012 13:49
Visita il sito web di questo utente Trova tutti i messaggi di questo utente Cita questo messaggio nella tua risposta
Rispondi 


Vai al forum: