# Gnral Dveloppement > Algorithme & Mathmatiques > Traitement d'images >  Algorithme pour rotation image en C

## guigui01

Bonjours  tous, 


J'ai un souci, je travaille actuellement sur un projet tutor dans mon IUT et j'ai  charge de programmer une fonction pour effectuer la rotation d'une image.

j'ai  disposition les structures et les fonctions suivantes


typedef struct {
   int n_composantes;                  
   int * prof_composantes;             
   int largeur;                        
   int hauteur;                        
   TypeComposante * type_composantes;  
   void * donnees;                     
   int taille_pixel;
} Image;

typedef unsigned long int * Pixel;

Pixel pixel_image_get(Image * image,int pos_x,int pos_y);

void pixel_image_set(Image * image,int pos_x,int pos_y,Pixel pixel);

Voil, donc je chercher prcisement  faire une fonction qui fasse la rotation de l'image en fonction d'un angle (en degrs) donn .

J'ai pass des heures sur google mais je n'ai rien trouv.
Si quelqu'un  une ide , une solution, ou un algo, je suis preneur.

----------


## crocodilex

Ce n'est pas une question sur le langage C a ?

Poses la question dans le forum algo :
http://www.developpez.net/forums/forumdisplay.php?f=60

----------


## j.p.mignot

1 - Choisir un centre de rotation O ( par exemple le centre du rectangle o se situe l'image source). Ce rectangle a une diagonale de longueur d
2 - Dfinir une image cible comme un carr de ct d et de centre O. Suivant le valeur de la rotation il pourrait tre plus petit et rduit  un rectangle.
3 - Scanner les pixels de l'image cible. pour chacun d'entre eux trouver l'original via la matrice de rotation -T. l'original n'tant pas  priori sur un pixel, utiliser le pixel le plus proche, ou une pondration, ou celui prsentant le plus grand gradient d'intensit ou splines cubiques ou ... 
Par ailleurs, il se peut que l'original soit hors image. dfinir alors une couleur de fond par dfaut. 
4 - Reporter la valeur ainsi obtenue sur l'image cible
   5  Sauver le rsultat en BMP, JPG,

----------


## Matthieu Brucher

::recherch:: 
Il y a eu une discussion rcemment l-dessus, pas forcment en C, mais sur l'algorithme, donc si c'est ici, c'est que c'est a qui manque  :;): 

Aprs recherche, le sujet tait mme pas  10 sujets, donc c'est vraiment un gros
 ::recherch::  ::recherch::  ::recherch::  ::recherch:: 
http://www.developpez.net/forums/sho...d.php?t=132171

----------


## guigui01

ah ok je n'avais pas vu, veuillez m'excuser.

----------


## guigui01

j'ai juste une derniere question



> pour chacun d'entre eux trouver l'original via la matrice de rotation -T


je n'ai pas compris , qu'est -ce que la matrice de rotation -T?

----------


## j.p.mignot

si vous avez une rotation d'angle T dont la matrice associe est (cos(T), sin(T), -sin(T), cos(t)), -T est la rotation d'angle -T dont la matrice est(cos(T), -sin(T), sin(T), cos(T)).

----------

