J'aimerais faire une réduction de couleurs un peu plus compliquée que d'habitude.
J'ai une image en couleurs vraies (32 bits) et je dois la découper en morceaux d'une certaine taille (8x8 par défaut). Chacun de ces morceaux de 8x8 référencie une image 4 bits (c'est-à-dire 16 couleurs, dont une est transparente), et chacun de ces morceaux peut choisir l'une des palettes système (il y en a 16 par défaut, mais on pourra régler).
Ainsi, on a 256 couleurs, sauf que seulement 16 ne peuvent être affichées simultanément dans un bloc de 8x8.
Le but est de générer les 16 meilleures palettes de 16 couleurs pour l'image, et de les associer aux différents blocs pour avoir la meilleure qualité d'image possible.
Cela peut sembler simple au premier abord, mais ça ne l'est pas tant que ça, car chaque bloc ne peut utiliser QUE les couleurs de la palette à laquelle il est associé. Donc si un morceau d'image est rouge, on sera tenté d'y coller une palette rouge, mais si cet objet est une flèche par exemple, il faudra tenir compte que dans les bords il y a une autre couleur (l'objet n'est pas forcément rectangulaire et ne fait pas forcément 8x8). Et il y a beaucoup plus de blocs que de palettes, donc il faut créer des palettes réutilisables et adaptées à tout.
J'ai déjà réfléchi et essayé quelques algos, mais le résultat est plutôt mauvais. Je ne les posterai pas ici car mon post est déjà assez gros mais si vous voulez je le ferai.

Donc voilà, si vous avez des idées à me faire partager, ce serait très sympa et utile. Merci d'avance ^^
PS: pour ceux qui n'auraient pas reconnu, le but est de générer des maps optimisées (avec tilesets 4 bits & palettes) pour des consoles de type SNES, GBA, Mega Drive, Game Gear, DS, etc.
