Question

J'écris une application iPhone et j'ai besoin d'aide pour savoir comment prendre une image et la fusionner en une seule couleur.Je suppose que j'ai besoin de faire un mélange gaussien mais je ne sais pas si c'est correct ou comment le faire si c'est le cas.

Avez-vous des suggestions, des pointeurs vers des extraits de code de mélange gaussien, ou est-ce que je me dirige dans la mauvaise direction pour passer d'une image à une image en couleurs mélangées?

Il ne semble pas que je puisse faire cela avec les frameworks iPhone existants ou existe-t-il des méthodes privées dans des frameworks publics qui faciliteront ce travail?

Était-ce utile?

La solution

Vous voulez donc prendre une image et "la fondre en une seule couleur".Essayez-vous d'obtenir la "couleur moyenne" de l'image?

Si tel est le cas, l'utilisation d'un filtre gaussien le complique peut-être, car la sortie dont vous avez besoin est simplement une valeur RVB unique.Le moyen le plus simple de le faire est de calculer la moyenne pour chaque canal de couleur (rouge, vert et bleu):

int r,g,b;
r=g=b=0;

for (y=0 ; y<image_height ; y++)
    for (x=0 ; x<image_width ; x++)
    {
        r = r + image[y,x,0];
        g = g + image[y,x,1];
        b = b + image[y,x,2];
    }

num_pixels = image_height * image_width;
average_r = r / num_pixels;
average_g = g / num_pixels;
average_b = b / num_pixels;

Un filtre gaussien est un filtre pondéré central , ce qui signifie que le pixel au centre de la fenêtre de filtrage est plus lourd que les autres.Si vous voulez brouiller une image, alors cela est approprié, mais pour mélanger une image entière, la pondération égale de tous les pixels, comme dans le pseudo-code ci-dessus, est tout aussi efficace.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top