libimage / effets

dernière mise à jour: 8 Juin 2008
# et #

Cette page décrit les "effets spéciaux" que l'on peut appliquer sur une image graçe à la libimage. Et je suis bien d'accord, il manque des exemples. Vous pouvez en générer rapidement quelque-uns, en faisant appel à une fonction de test.

effets

int Image_water(Image_Desc *source, Image_Desc *but, int intensite)
déplace randomatiquement les pixels comme si de l'eau était tombé sur une aquarelle. Attention, il semble y avoir un bug dans cette fonction.
int Image_noise(Image_Desc *source, Image_Desc *but, int intensite)
Rajoute du bruit aléatoire absolu dans une image. Une intensité de 10 donne un effet moyen. Chaque composante est traitée séparément.
int Image_mirror(Image_Desc *src, Image_Desc *dst, int res)
retourne une image rgb[a] de droite à gauche, comme dans un miroir.
int Image_upside_down(Image_Desc *src, Image_Desc *dst, int res)
Renverse une image de haut en bas ou de droite à gauche. Il ne faut pas mettre la même image en source et destination.
int Image_swap_lines(Image_Desc *src, Image_Desc * dst)
int Image_swap_cols(Image_Desc *src, Image_Desc * dst)
Echange des lignes (colonnes) paires et impaires de l'image. RGB uniquement hélas...

haut de page

effets 2

int Image_sinwave_1(Image_Desc *source, Image_Desc * but, double table[6])
Déformation étrange d'une image. Je ne sais absolument pas ce que doit contenir la table.
int Image_sinwave_2(Image_Desc *source, Image_Desc * but, double table[6])
Déformation étrange d'une image. Je ne sais absolument pas ce que doit contenir la table.

haut de page

effets 3

Dans cette section, il y a des effets plus ou moins pas trop finis. Certains d'entre eux ont été conçus pour mon (futur) logiciel de montage de vidéos povesques. Ensuite, quand ils seront fixés, peut-être je changerais leur nom, tout en gardant un alias dans le source effects3.c.

int Image_effect_x_0(Image_Desc *src, Image_Desc *dst, int kr, int kg, int kb)
Déja plus de 4 ans de mise au point, et c'est pas encore fini...
int Image_effect_x_1(Image_Desc *src, Image_Desc *dst)
Déja plus de 4 ans de mise au point, et c'est pas encore fini...
int Image_effect_x_3(Image_Desc *src, Image_Desc *dst, int kx, int ky, char *comp)
Déja plus de 4 ans de mise au point, et c'est pas encore fini...

haut de page

rgbmask

C'est nouveau, ça vient de sortir. Le principe est simple: éliminer, sur des critères divers, une ou deux composantes RGB de l'image, en les remplaçant par une valeur constante. Hélas, ces effets ont un défaut: ils survivent très mal à la compression JPEG.

int Image_rgbmask_H(Image_Desc *src, Image_Desc *dst, int gris);
Dans le sens horizontal...
int Image_rgbmask_V(Image_Desc *src, Image_Desc *dst, int gris);
Dans le sens vertival...
int Image_rgbmask_2(Image_Desc *src, Image_Desc *dst, int gris);
Bon, c'est pas mal, mais c'est quand même très dépendant des dimensions de l'image.
int Image_rgbmask_R(Image_Desc *src, Image_Desc *dst, int gris);
Ah, celle-là semble prometteuse. En jouant sur la pondération de l'aléa, on doit pouvoir obtenir quelques trucs sympas...

haut de page

liens

La classique rubrique des liens, toujours aussi vide. Rattrapez vous ici ou .