Je me suis trompé de google et je n'ai pas trouvé ce que je recherchais. alors qu'est-ce que je suis après? bien deux choses:Algorithmes de colorimétrie et d'ajustement de palettes
tout d'abord, je suis à la recherche d'un algorithme /pseudo-code/blanc-papiers pour déterminer une couleur mieux adaptée pour un donner r, g, b et de tuple tableau de 256 tuples RGB.
Deuxièmement, je suis à la recherche d'un algorithme /pseudo-code/Papiers blancs recolorer une image palette 8bit (en utilisant la palette RVB ci-dessus) soit un donné Teinte/Saturation ou par r, g, b modification de canal. aussi serait gentil si il était possible d'ajouter une correction pour les pixels gamma et d'artefacts dans la colorisation ainsi.
Quelqu'un at-il des astuces/pointeurs/conseils pour savoir où je pourrais trouver une telle chose (je sais qu'ils doivent exister, sinon quelques-unes des fonctions de Photoshops ne serait pas)
MISE À JOUR: voici une RGB base de distance euclidienne à la recherche de l'index de la palette:
uint_8 __stdcall GFXUTIL_GetNearestPaletteIndex(const uint_8* pPalette, size_t nSize, uint_8 nRed, uint_8 nGreen, uint_8 nBlue)
{
if(pPalette == NULL)
return 0;
int nDistance = -1;
size_t nIndex = 0, nFoundIndex = 0;
while(nIndex < nSize)
{
int nDistRed = pPalette[0] - nRed;
int nDistGreen = pPalette[1] - nGreen;
int nDistBlue = pPalette[2] - nBlue;
int nCurrentDistance = (nDistRed * nDistRed) + (nDistGreen * nDistGreen) + (nDistBlue * nDistBlue);
if(nCurrentDistance < nDistance)
{
nFoundIndex = nIndex;
nDistance = nCurrentDistance;
}
nIndex++;
pPalette += sizeof(uint_32);
}
return nFoundIndex;
}
Votre première question est essentiellement une copie de: http://stackoverflow.com/questions/3143162/color-remapping-matching-target-palette-using-a-3d-grid/3143228 –
merci pour le lien :) réussi à faire une base algoïde algo distance avec l'info là-dedans, cependant, a encore besoin d'ajustement gamma et quelque chose à baiser les couleurs voyant que l'œil est plus sensible à certaines couleurs – Necrolis