begin process at 2012 05 30 16:41:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

rotation d'une image


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

rotation d'une image

mardi 17 janvier 2006 à 11:49:33 | rotation d'une image

bizibiz17

bonjour
en fait j'ai un petit pb, je dois rendre en devoir demain et il me reste une petite question que je n'arrive pas à résoudre.

j'ai définit une structure pixel(r,v,b) et une structure image avec un tableau à deux dimensions et le largeur,la hauteur de l'image et le nombre maximum de couleurs.

const int MAX=2000;
const int max=255;

struct pixel{
       int rouge;
       int vert;
       int bleu;
};

struct image{
       pixel matrice[MAX][MAX];
       int hauteur;
       int largeur;
       int max;
};

et j'ai fait une fonction pour pouvoir faire une rotation de l'image mais ça ne marche pas...
je sais que ce que j'ai fait n'est pas ce qu'il faut faire mais je ne vois pas comment faire
voila la fonction :

float conversion(int theta) //convertit l'angle qui est donné en degré en radian
{
  float Pi=3.141592654;
  float theta2;
  theta2=(theta*Pi)/180;
  return(theta2);
}

void rotation(image src,int theta,image & dest)
{
  int i,j,h,l;
  float theta2;
  dest.max=src.max;
  dest.largeur=src.largeur*2;
  dest.hauteur=src.hauteur*2;
  theta2=conversion(theta);


 for(i=0;i<src.hauteur;i++)
    for(j=0;j<src.largeur;j++)
      for(h=0;h<dest.hauteur;h++)
    for(l=0;l<dest.largeur;l++)
      {
     dest.matrice[h][l].rouge=src.matrice[i*cos(theta2)+j*sin(theta2)][j*cos(theta2)+i*sin(theta2)].rouge;
     dest.matrice[h][l].vert=src.matrice[i*cos(theta2)+j*sin(theta2)][j*cos(theta2)+i*sin(theta2)].vert;
     dest.matrice[h][l].bleu=src.matrice[i*cos(theta2)+j*sin(theta2)][j*cos(theta2)+i*sin(theta2)].bleu;
      }
}
Merci à ceux qui voudrons bien me donner leur aide 

mardi 17 janvier 2006 à 11:55:52 | Re : rotation d'une image

bizibiz17

J'ai oublié de préciser que l'image est au format pnm. Je sais pas si c'est important...
mardi 17 janvier 2006 à 12:11:46 | Re : rotation d'une image

mondrone

Membre Club
Tout d'abord, évite de valider ta propre réponse car les autres risquent de croire que ton problème est résolu . Ensuite, je ne pense pas que le format de l'image soit important à ce stade du programme .

Pour ce qui est de ta méthode, je te dirais que je n'ai jamais fait de transformations d'image comme ça, mais par contre en troigonométrie complexe, tes formules marcheraient presque. La seule chose, si je ne m'abuse, c'est que dans le premier membre ce serait i*cos(theta2) - j*sin(theta2) mais c'est la seul erreur de calcul que je vois. (j'ai pas vérifié si l'angle n'était pas compté à l'envers)

Après, le deuxième problème, c'est que tu risque de taper dans une coordonnée extèrieur à ton tableau de départ. Il faut que tu fasse attention à ça, et au pire que tu prévoit un tableau d'arrivée plus grand que celui de départ avec un offset sur tes coordonnées pour que les milieux correspondent !


  Qui ne tente rien...
  Ne risque pas d'avoir grand chose !!!



Cette discussion est classée dans : int, image, max, matrice, theta2


Répondre à ce message

Sujets en rapport avec ce message

Problème pour dériver une classe [ par arc59 ] J'ai créé une classe Matrice comportant des fonctions get_ele, set_ele (toutes les 2 sont "virtual") et la redéfinition de l'opérateur +.Dans ma class jai un probleme avec ma source!!!!! jai vérifeir et je ne trouve rien...pouvez vous m'aider.... [ par retaks666 ] alors jai veut faire un programme ki génére une suite de caractere d'un nombre donné...et sa marche po... je vous done ma source si vous pouvez m'aide PB de matrice [ par limax84 ] J'ai un probleme d'allocation dynamique de memoire pour une matrice.pour un tableau, je procede comme ceci:int * t;t = new int [30];mais pour une matr Matrice constante. [ par nsoualem ] j'ai crée une classe matrice avec un constructeurdu type:matrice(int nbligne,int nbcolonne)...elle marche a merveille!!!Lors de la création d'un code, passer d'un widget a une autre structure [ par khaledtaib ] bonjourj' ai un petit programme de traitement d'image en language C, que je veux lui creer une interface graphique en GTK+.ce programme doit afficher pb de retour( du tableau) de ma fonction [ par airwann ] bonjour,j ai un problème comment dois je modifier l'entête de ma fonction pour recupérer le tableau de structure 3 d alloué dynamiquementmerci d avanc need help_API - debutant. [ par JimyRyan ] j'ai cree un progamme qui affiche une image (stoquee dans un fichier .bmp), et une phrase (lu a partir d'un fichier TXT), j'ai deux problemes : une fo transformer un tableau 2d en image bitmap [ par gyzmo1 ] Bonjour a tous, voilà mon problème, je suis en train de mettre en place une méthode de comparaison de signature manuscrites. Cette méthode s applique image centrée [ par tdeco ] SALUT je cherche à centrer une image qui est sous forme de matrice (fichier txt).cette matrice (suite de 1 et 0) de dimension 16*16 represente un chi c++ creation d'un fichier texte a nom variable [ par sloaneaaaa ] ben voila je voudrai creer un fichier texte auquel je puisse donner n'importe quel nom ms g des erreurs que je comprend pasle nom de fichier est ds un


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,825 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales