Autore Topic: Ridurre i colori in un'immagine  (Letto 468 volte)

Offline Andrew

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu 11.04, Windows Xp
Ridurre i colori in un'immagine
« il: 10 Settembre 2011, 16:49:36 CEST »
0
Ciao ragazzi,
sono nuovo in questo forum. Spero che possiate aiutarmi.
Ho un'applicazione che elabora un'immagine a dimensione schermo. Dopo averla segmentata, adesso ho la necessità di ridurre i colori a una palette di 15 oppure 8. Come posso fare? Ho cercato in giro ma non ho trovato qualcosa di veramente utile. Vorrei che la riduzione dei colori fosse fatta in maniera intelligente. Io ho provato a convertire l'immagine da rgb a hsv; ho diviso l'intervallo [0, 360) della tinta (ridotto ai soli valori interi quindi da 0 a 359) in 15 intervalli e all'interno di esso ho cercato la tinta posseduta dal maggior numero di pixel. Per saturazione e valore ho fatto la media dei livelli di saturazione per la tinta predominante e la media dei livelli valore per la tinta predominante. L'elaborazione è lenta in quanto devo per prima cosa acquisire in un'array tutti i valori hsv, poi rianalizzare l'intero array per trovare le tinte predominanti e i valori medi di saturazione e valore e infine modificare l'array hsv per scrivere i nuovi valori. I risultati poi non sempre sono soddisfacenti. Potete suggerirmi un algoritmo per ridurre i colori?
Se pensate che il mio vada bene potete dirmi come ottimizzarlo?
Grazie mille  :-)