Vous n'êtes pas identifié(e).
Qt 4: 4.8.4 - Qt 5: 5.0.2 - Qt Creator: 2.7.1 - Qt Installer: 1.3.0 - VS Qt 4: 1.1.11 - VS Qt 5: 1.2.1 - Monkey Studio: 1.9.0.4
Pages : 1
Bonjours,
Je cherche désespérément une routine qui me permettrait de réduire le nombre de couleurs d'une image au nombre que je voudrais, genre 48, 64, 72 par exemple.
Auriez-vous une tel routines dans vos archives ?
Sans la liberté de blâmer, il n'est point d'éloge flatteur; et qu'il n'y a que les petits hommes qui redoutent les petits écrits !!!
- Beaumarchais -
Hors ligne
Euh... je ne suis pas sûr que ça existe de façon standard...
Mais si tu veux, on peut s'y pencher...
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows et Ian Parberry
Si tu ne sais pas : demande, si tu sais : partage !
Hors ligne
J'ai chercher du côté du dithering mais cela s'arrête en générale à 256 couleurs !
Sans la liberté de blâmer, il n'est point d'éloge flatteur; et qu'il n'y a que les petits hommes qui redoutent les petits écrits !!!
- Beaumarchais -
Hors ligne
Bonsoir !
Intéressant... 
Oui nous pouvons nous pencher dessus ensemble.
quel QImage::Format ton image ?
En ligne
Euh
, je n'ai jamais utilisé ni ne me suis penché sur le dithering... Je corrige cela de suite 
Mais ne serait-il pas possible de "peaufiner" l'algorithme pour atteindre le nombre de couleur voulu ?
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows et Ian Parberry
Si tu ne sais pas : demande, si tu sais : partage !
Hors ligne
Il me semble pas au vu de l'algo mais je ne suis pas affirmatif car ce n'est pas franchement mon domaine...
Sans la liberté de blâmer, il n'est point d'éloge flatteur; et qu'il n'y a que les petits hommes qui redoutent les petits écrits !!!
- Beaumarchais -
Hors ligne
Bonsoir !
Intéressant...
Oui nous pouvons nous pencher dessus ensemble.quel QImage::Format ton image ?
En générale un png en 16, 24 ou 32 bits.
Sans la liberté de blâmer, il n'est point d'éloge flatteur; et qu'il n'y a que les petits hommes qui redoutent les petits écrits !!!
- Beaumarchais -
Hors ligne
donc, première approche...
On parcours l'image une première fois pour connaître les couleurs présentes, on en fait une palette approchée : totalité des couleurs => palette réduite
On parcours l'image une deuxième fois pour transformer l'image d'origine : la couleur de chaque pixel de l'image d'origine est remplacée par la couleur la plus proche dans la palette réduite...
Enfin moi je dis ça, c'est une première approche...
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows et Ian Parberry
Si tu ne sais pas : demande, si tu sais : partage !
Hors ligne
Je suis partie de ceci : http://en.literateprograms.org/Floyd-St … hering_(C)
Sans la liberté de blâmer, il n'est point d'éloge flatteur; et qu'il n'y a que les petits hommes qui redoutent les petits écrits !!!
- Beaumarchais -
Hors ligne
Une question : une image 24 bits peut avoir plus de 16 millions de couleurs différentes*. Tu dis à ta routine "je n'en veux que 64".
Soit tu dis lesquelles (tu donnes la palette d'arrivée), soit il manque la fonction de transformation de myrddin772. Mais il y a une inconnue de trop dans ton problème tel que tu le poses. 
---------------------
* j'ai compté les couleurs de diverses photos moyenne réso : la moyenne tourne autour de 100-130000 couleurs
En ligne
Ce domaine m'est complètement étranger, mais sous Gimp, il existe un greffon pour réduire les couleurs. Il semble prendre deux paramètres (seuil de sélection et incrément du balayage), et ne demande pas - a priori - de définir de palette.
(voir http://abcdugimp.free.fr/gimp/telecharg … uleurs.php)
Je ne sais pas sur quel algorithme ce greffon se base, mais si quelqu'un sur ce forum parle couramment le Scheme, le code source du greffon n'est pas très long. 
Hors ligne
Une question : une image 24 bits peut avoir plus de 16 millions de couleurs différentes*. Tu dis à ta routine "je n'en veux que 64".
Soit tu dis lesquelles (tu donnes la palette d'arrivée), soit il manque la fonction de transformation de myrddin772. Mais il y a une inconnue de trop dans ton problème tel que tu le poses.---------------------
* j'ai compté les couleurs de diverses photos moyenne réso : la moyenne tourne autour de 100-130000 couleurs
Exacte, voilà pourquoi je rame 
Sans la liberté de blâmer, il n'est point d'éloge flatteur; et qu'il n'y a que les petits hommes qui redoutent les petits écrits !!!
- Beaumarchais -
Hors ligne
D'où LA grande question : Veux-tu imposer la palette d'arrivée ou veux-tu qu'elle soit "calculée" ?
Dans le deuxième cas, il faut trouver un moyen efficace de (re)grouper les couleurs en un nombre défini... et le plus important est de choisir ces couleurs en fonction de la palette de départ...
Bon, peut-être quelque chose d'intéressant ici (http://www.google.fr/url?sa=t&rct=j&q=c … GK_EHA4yDQ), je regarde cela en espérant en tirer un algorithme...
Dernière modification par myrddin772 (29-02-2012 00:33:51)
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows et Ian Parberry
Si tu ne sais pas : demande, si tu sais : partage !
Hors ligne
Une palette calculé me semble plus judicieux afin d'être le plus ressemblant possible à l'original alors que j'ai réduit le nombre de couleurs...
Je vais regarder le lien.
Sans la liberté de blâmer, il n'est point d'éloge flatteur; et qu'il n'y a que les petits hommes qui redoutent les petits écrits !!!
- Beaumarchais -
Hors ligne
Et en partant de ce que propose Qt ?
QImage::convertToFormat sait transformer une image 16 ou 24*, qui n'a pas de palette, en un format Format_Indexed8 qui a une palette à part de 256 entrées maxi.
Il sera plus facile de travailler ensuite sur cette palette (colorTable (), un QVector<QRgb> facile à manier) de façon à réduire le nombre de couleurs (256 -> 64 par exemple) via un algo adapté...
--------------------
* et 32 qui est en fait un 24 avec de la transparence
En ligne
[mode honte=on]
Je n'ai jamais manipuler les images via Qt... (donc je n'y avais pas pensé
)
[mode honte=off]
Cette nuit j'ai "rêvé" d'un algorithme type Huffman pour réduire le nombre de couleur en fonction de leur "présence" dans l'image... ce qui simplifié par la réduction à 256 couleurs... 
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows et Ian Parberry
Si tu ne sais pas : demande, si tu sais : partage !
Hors ligne
Bonsoir !
Tu n'as pas à avoir honte parce qu'en lisant la doc, on voit que
Conversion from 32 bit to 8 bit indexed is a slow operation and will use a straightforward nearest color approach, with no dithering.
(autrement dit, la conversion que je propose est lente et n'utilise pas le dithering)
Alors si ça vous intéresse toujours on peut partir de la "palette" d'une 32b
Comme une de mes applis dérive une classe Image de QImage, j'ai redéfini ainsi colorCount () [qui renvoie 0 quand il n'y a pas de palette]
En fait pendant qu'il compte les couleurs différentes on en profite pour compter aussi les occurrences de chacune, le tout étant dans "colorList" en fin de fonction. On en fait ce qu'on veut ensuite.
Je n'ai pas trouvé plus rapide.
En ligne
Merci pour vos propositions, je vais les creuser 
Sans la liberté de blâmer, il n'est point d'éloge flatteur; et qu'il n'y a que les petits hommes qui redoutent les petits écrits !!!
- Beaumarchais -
Hors ligne
tiens nous au courant de tes avancées dergen
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows et Ian Parberry
Si tu ne sais pas : demande, si tu sais : partage !
Hors ligne
Cette nuit j'ai "rêvé" d'un algorithme type Huffman pour réduire le nombre de couleur en fonction de leur "présence" dans l'image...
Pourrais-tu donner quelques pistes ?
En ligne
tiens nous au courant de tes avancées dergen
Sans problème !
Sans la liberté de blâmer, il n'est point d'éloge flatteur; et qu'il n'y a que les petits hommes qui redoutent les petits écrits !!!
- Beaumarchais -
Hors ligne
myrddin772 a écrit :Cette nuit j'ai "rêvé" d'un algorithme type Huffman pour réduire le nombre de couleur en fonction de leur "présence" dans l'image...
Pourrais-tu donner quelques pistes ?
Attention, c'est une idée "A.L.C." 
On a une liste du type : [Couleur, nb_occurence] après un algorithme comme le tien PapaJaac.
On trie cette liste de la couleur la plus présente à la moins présente
Tant que le nombre de couleur est supérieur à celui souhaité
| On prend la couleur la moins présente dans la liste : Cmin
| On recherche dans la liste, la couleur la plus proche de Cmin : Capp
| On enlève Cmin de la palette, on ajoute à Capp les points de Cmin (j'espère que je suis assez clair
)
\_ On trie la liste
Dernière modification par myrddin772 (03-03-2012 19:59:49)
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows et Ian Parberry
Si tu ne sais pas : demande, si tu sais : partage !
Hors ligne
Pages : 1
| Liens interne à QtFR | Les partenaires de QtFR | Liens pour les sites officiels Qt | Liens sur les ressources Qt |
|---|---|---|---|
| Communauté QtFR sur Google+ | Monkey Studio | Télécharger Qt | Notre tutoriel |
| QtFR sur Twitter | ZeGrapher | Site officiel Qt | Documentation Qt |
| IRC box | Qt Blog | Qt Centre | |
| Galeries | Qt Wiki | Qt Apps | |
| Contactez-nous | Qt Quarterly |