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

C

 > 

Divers

 > 

Débutant(e)

 > 

Reduire la taille de l'image par 2


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

Reduire la taille de l'image par 2

vendredi 22 avril 2011 à 20:19:03 | Reduire la taille de l'image par 2

mano972

Bonjour c'est assez urgent, je bloque pour un fonction qui est de réduire la taille de l'image par 2.
Je vous montre ceux que j'ai déjà fais.
Code C/C++ :
    unsigned short int x,y;                // variables d'itération
   	float valeur;
   	unsigned short int Largeur;
    unsigned short int Hauteur;
   	string Fichiers,Fichierss,ligne;
    t_image ppm;
	cout << "Entrer le nom de l'image ";
	cin >>Fichiers;

        ifstream fichier(Fichiers.c_str());		// ouverture du fichier en lecture
 	if(fichier)  // si l'ouverture a réussi
        {            //on recupere les information du fichier(hauteur,largeur etc..)
                    getline(fichier,ligne);
                    ppm.chaine1=ligne;
                    getline(fichier,ligne);
                    ppm.chaine2=ligne;
                    fichier>>ppm.largeur;
                    Largeur=ppm.largeur;
                    fichier>>ppm.hauteur;
                    Hauteur=ppm.hauteur;
                    fichier>>ppm.valmax;
            	for( y=0; y<ppm.hauteur; y++ )
      	{	// lecture sur l'axe Y
    	for( x=0; x<ppm.largeur; x++ )
      {	// lecture sur l'axe X (=lecture d'une' ligne)
                        fichier>>valeur;
                       ppm.pixel[x][y].r=valeur;
                        fichier>>valeur;
                       ppm.pixel[x][y].v=valeur;
                        fichier>>valeur;
                       ppm.pixel[x][y].b=valeur;
    }
       }
      cout <<"\n" << "Lecture de l'image terminee !\n" ;
      fichier.close();
        }
         else
         {
        cerr << "le fichier est introuvable !" << endl;
}
cout<<"enregistrer en quel nom"<< endl;
cin >> Fichierss;
ofstream fichiers(Fichierss.c_str());  //déclaration du flux et ouverture du fichier
if(fichiers)  // si l'ouverture a réussi
        {            // instruction,les variale que je vais mettre dans le "fichiers"
        fichiers<<ppm.chaine1<<endl;
        fichiers<<ppm.chaine2<<endl;
        fichiers<<ppm.largeur<<endl;
        fichiers<<ppm.hauteur<<endl;
        fichiers<<ppm.valmax<<endl;
	for (y = 0; y < ppm.hauteur; y++)
  	{
    	for (x = 0; x < ppm.largeur; x++)
      	{                                                                           // ici le code concernant le traitement d'images
         fichiers<<ppm.pixel[x][y].r<<endl;
         fichiers<<ppm.pixel[x][y].v<<endl;
         fichiers<<ppm.pixel[x][y].b<<endl;
         
	     }
        }
fichiers.close();   // on referme le fichier
        }
          else
                      cerr << "Desole, mais le fichier ne peut etre ouvert en ecriture..." << endl;
      }


J'ai tenté de divisé par 2 le ppm.largeur et le ppm.hauteur , sa marche mais le résultat donné n'est pas ceux que je voulais car au final l'image ne ressemble a rien, j'aimerais garder les même proportion. J'ai essayé de cherché sur internet mais je ne comprenais pas.
Donc comment puis je manipulé les variables.Merci.
lundi 25 avril 2011 à 18:39:05 | Re : Reduire la taille de l'image par 2
mardi 26 avril 2011 à 11:17:24 | Re : Reduire la taille de l'image par 2

Pistol_Pete

Réponse acceptée !
Salut,
Si tu divises par 2 la largeur et la longueur de ton image, tu garderas les mêmes proportions...
Il suffit donc d&#8217;écrire un pixel sur deux en x et en y...

fichiers<<ppm.chaine1<<endl;
fichiers<<ppm.chaine2<<endl;
fichiers<<ppm.largeur/2<<endl;
fichiers<<ppm.hauteur/2<<endl;
fichiers<<ppm.valmax<<endl;
for (y = 0; y < ppm.hauteur; y+=2)
{
for (x = 0; x < ppm.largeur; x+=2)
{ // ici le code concernant le traitement d'images
fichiers<<ppm.pixel[x][y].r<<endl;
fichiers<<ppm.pixel[x][y].v<<endl;
fichiers<<ppm.pixel[x][y].b<<endl;

}
}
fichiers.close(); // on referme le fichier

A+

____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
mardi 26 avril 2011 à 11:18:13 | Re : Reduire la taille de l'image par 2

Pistol_Pete

Si tu veux faire des interpolation bilinéaire, regarde dans mes sources...
A+

____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
mardi 26 avril 2011 à 11:46:48 | Re : Reduire la taille de l'image par 2

mano972

Merci sa marche


Cette discussion est classée dans : fichier, fichiers, largeur, endl, ppm


Répondre à ce message

Sujets en rapport avec ce message

problèmes liens entre fichiers C et C++ dans un projet Visual C++ 6.0 [ par nico ] J'ai récupéré un projet contenant des fichiers écrits en C. Le fichier "principal" de ce projet également écrit en C fait appel à des fonctions se tro pb visual c++ fichiers [ par pichu ] dans une fonction de visual j'ouvre un fichier fstream en lecture. Ce fichier contient des informations. Mais ca me renvoie true quand j'affiche le ré recherche fichiers executables et comparaisons [ par limsa033 ] Bonsoir,je cherche à lister tous les fichiers executables d(un disque dur ainsi que leur principales caractéristiques(nom,chemin et taille et date de aide sur les fichiers [ par dickymoe ] VinceExiste-t-il une fonction permettant de savoir si un fichier existe ?et une autre permettant de savoir si un fichier est vide ?merci problème avec fichiers !!! [ par ben01n ] salut tout le mondeje prog sous linux et j'aurais besoin d'aide pour un de mes programmes dont j'ai déposé la source sous le nom "client-serveur en ud Les fichiers [ par AngeloVivaldi ] J'utilise la méthode suivante pour copier un fichier vers une destination : FILE * source; FILE * desti; source = fopen(/* blabla */) /* blabla fichier exel (lecture et ecriture) [ par rissorg ] Bonjour a tous!j'essaye de faire un programme qui doit lire differents fichiers exel ,comparer les donnees lu au donnees contenu dans un fichier text Afficher un fichier PPM [ par stockley81 ] Bonjour,j'aimerai ouvrir un fichier au format PPM (Portable Pixel Map) et l'afficher a l'ecran.Comment puis-je faire? Faut-il une librairie particulie Tableau multidimensionel et fichiers [ par AngeloVivaldi ] slt à tous.Voila, je voudrai mettre dans un tableau multidimensionel chaque ligne d'un fichier, puis modifier une ligne du tableau pour le réécrire da Fichiers res [ par guiguikun ] Comment faire pour accéder à un fichier zip ou exe dans un fichier resource ?J'aimerais "packer" un fichier zip dans mon executable, mais comment puis


Nos sponsors


Sondage...

Comparez les prix

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 : 0,156 sec (4)

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