voici le résultat avec une image TGA 24 non compressée.
identity, emboss_kernel, flou_de_bougé
Le problème reste le même. Je pense que j'en ai encore pour un bon moment de prise de tête a calculer la transparence.
voici le résultat avec une image TGA 24 non compressée.
identity, emboss_kernel, flou_de_bougé
Le problème reste le même. Je pense que j'en ai encore pour un bon moment de prise de tête a calculer la transparence.
j'ai trouvé la solution pour le flou de bougé, il suffit de diviser par 5 ou 9 (cf ci dessous).
Par 5, l'image est "correcte", mais par 9, elle est beaucoup plus sombre.
Ca marche, mais c'est un coup de bol, car je ne sais pas pourquoi. De plus, j'ai essayé avec des décalages de bits pour des floats, mais bien sûr cela ne fonctionne pas.
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 r += (rr * (K[nn * kRows + mm])/9); g += (gg * (K[nn * kRows + mm])/9); b += (bb * (K[nn * kRows + mm])/9); J->pixel[j * I->w + i] = make_colour(r, g, b, 0xFF);
Et voici le flou gaussien avec une division par 10 (mais je ne sais pas pourquoi la division par 10 fonctionne).
int* gaussian_blur[3*3] = {
1, 2, 1,
2, 4, 2,
1, 2, 1
};
Code c : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 r += /*I->pixel [jj * I->w + ii] * (K[nn * kRows + mm]);*/(rr * (K[nn * kRows + mm])/10); g += /*I->pixel [jj * I->w + ii] * (K[nn * kRows + mm]);*/(gg * (K[nn * kRows + mm])/10); b += /*I->pixel [jj* I->w + ii] * (K[nn * kRows + mm]);*/(bb * (K[nn * kRows + mm])/10); J->pixel[j * I->w + i] = make_colour(r, g, b, 0xFF);
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager