コード例 #1
0
 public void NiveauDeGris(MyImage ImageDépart)
 {
     Pixel[,] ImageArrivée = new Pixel[ImageDépart.HauteurImage, ImageDépart.LargeurImage];
     for (int ligne = 0; ligne < ImageArrivée.GetLength(0); ligne++)
     {
         for (int colonne = 0; colonne < ImageArrivée.GetLength(1); colonne++)
         {
             int CouleurGris = ImageDépart[0, 0].NiveauGris
                               ImageArrivée[ligne, colonne] =
         }
     }
 }
コード例 #2
0
        /// <summary>
        /// Méthode qui prend en paramètre l'image que l'on veut traiter et qui renvoie la même image tourner à 90° dans le sens horaire.
        /// On crée une deuxième matrice de pixel qui fera office d'image d'arrivée. On initialise sa largeur comme la hauteur de l'image de départ
        /// et sa hauteur comme la largeur de l'image de départ.
        /// </summary>
        /// <param name="ImageDépart"></param>
        public void Rotation90(MyImage ImageDépart)
        {
            int NewHauteur = ImageDépart.LargeurImage;
            int NewLargeur = ImageDépart.HauteurImage;

            Pixel[,] ImageArrivée = new Pixel[NewHauteur, NewLargeur];
            for (int ligne = 0; ligne < NewHauteur; ligne++)
            {
                for (int colonne = 0; colonne < NewHauteur; colonne++)
                {
                    ImageArrivée[ligne, colonne] = ImageDépart.Image[colonne, NewLargeur - 1 - ligne];
                }
            }
        }
コード例 #3
0
 /// <summary>
 /// Pour passer une image en couleur en une image grisée, on fait la moyenne des intensités des trois couleurs rouge, vert et bleu.
 /// On parcourt donc la matrice de pixel de notre image de départ et on va modifier la valeur de chacune des trois couleurs dans l'instance
 /// matrice d'arrivée à l'aide des propriétés public int Red/Green/Blue. On fait la moyenne d'intensité des trois couleurs et on affecte cette même valeur
 /// à chaque paramètre de la classe Pixel (Rouge, Vert, Bleu)
 /// </summary>
 /// <param name="ImageDépart"></param>
 public void NiveauDeGris(MyImage ImageDépart)
 {
     Pixel[,] ImageArrivée    = new Pixel[ImageDépart.HauteurImage, ImageDépart.LargeurImage];
     Pixel[,] ImageTransition = ImageDépart.Image;
     for (int ligne = 0; ligne < ImageArrivée.GetLength(0); ligne++)
     {
         for (int colonne = 0; colonne < ImageArrivée.GetLength(1); colonne++)
         {
             int CouleurGris = (ImageTransition[ligne, colonne].Red + ImageTransition[ligne, colonne].Green + ImageTransition[ligne, colonne].Blue) / 3;
             ImageArrivée[ligne, colonne].Red   = CouleurGris;
             ImageArrivée[ligne, colonne].Green = CouleurGris;
             ImageArrivée[ligne, colonne].Blue  = CouleurGris;
         }
     }
 }
コード例 #4
0
        public void MatriceCovolution(MyImage imageDépart)
        {
            int[,] MatriceFiltre = new int[3, 3];
            int largeur = imageDépart.LargeurImage;
            int hauteur = imageDépart.HauteurImage;

            for (int ligne = 0; ligne < hauteur; ligne++)
            {
                for (int colonne = 0; colonne < largeur; colonne++)
                {
                    //On cherche les coins de la matrice de pixels
                    if ((ligne == 0 % (hauteur - 1)) && (colonne == 0 % (largeur - 1)))
                    {
                        if (ligne == 0 && colonne == 0)
                        {
                        }
                        if (ligne == 0 && colonne == largeur - 1)
                        {
                        }
                    }
                }
            }
        }
コード例 #5
0
        static void Main(string[] args)
        {
            string NameImage = "";

            Console.WriteLine("Avec quelle photo souhaitez-vous faire des modifications ?");
            Console.WriteLine("1- coco (tapez 1)");
            Console.WriteLine("2- lac en montagne (tapez 2)");
            Console.WriteLine("3- lena (tapez 3)");
            Console.WriteLine("4- Image test (tapez 4)");
            Console.WriteLine("5- Fractale (tapez 5)");
            char touche = Convert.ToChar(Console.ReadLine());

            while (touche != '1' && touche != '2' && touche != '3' && touche != '4')
            {
                Console.Write("Votre saisie est erronée. Veuillez réessayer : ");
                touche = Convert.ToChar(Console.ReadLine());
            }
            if (touche == '1')
            {
                NameImage = "coco.bmp";
            }
            if (touche == '2')
            {
                NameImage = "lac_en_montagne.bmp";
            }
            if (touche == '3')
            {
                NameImage = "lena.bmp";
            }
            if (touche == '4')
            {
                NameImage = "Test.bmp";
            }
            if (touche == '5')
            {
                byte     Hauteur   = Convert.ToByte(400);
                byte     Largeur   = Convert.ToByte(800);
                Fractale fractale  = new Fractale(Hauteur, Largeur);
                byte []  CodeImage = fractale.CreationCodeImage();
                Pixel[,] Image = fractale.CreationImage(CodeImage);
                fractale.ConstruireFractale(Image);
                Console.ReadLine();
            }
            MyImage NewImage = new MyImage(NameImage);

            NewImage.From_Image_To_File(NameImage);
            Console.WriteLine();

            Console.WriteLine("Que voulez-vous faire avec cette image ?");
            Console.WriteLine("1- La mettre en noir et blanc ");
            Console.WriteLine("2- La mettre en niveaux de gris ");
            Console.WriteLine("3- La faire tourner (90°, 180°, 270°) ");
            Console.WriteLine("4- La tourner en mode miroir ");
            Console.WriteLine("5- L'agrandir ");
            Console.WriteLine("6- La rétrécir ");
            Console.WriteLine("7- La rendre floue, Renforcer ses bords, Détecter ses contours, Fonction repoussage");
            char selection = Convert.ToChar(Console.ReadLine());

            while (selection != '1' && selection != '2' && selection != '3' && selection != '4' && selection != '5' && selection != '6' && selection != '7')
            {
                Console.Write("Votre saisie est erronée. Veuillez réessayer : ");
                selection = Convert.ToChar(Console.ReadLine());
            }
            if (selection == '1')
            {
                NewImage.NoirEtBlanc();
            }
            if (selection == '2')
            {
                NewImage.PassageGris();
            }
            if (selection == '3')
            {
                Console.WriteLine("De combien de degré voulez vous faire tourner l'image ?");
                Console.WriteLine("1- 90° ");
                Console.WriteLine("2- 180° ");
                Console.WriteLine("3- 270° ");
                char rotation = Convert.ToChar(Console.ReadLine());
                while (selection != '1' && selection != '2' && selection != '3')
                {
                    Console.Write("Votre saisie est erronée. Veuillez réessayer : ");
                    touche = Convert.ToChar(Console.ReadLine());
                }
                if (selection == '1')
                {
                    NewImage.Rotation90();
                }
                if (selection == '2')
                {
                    NewImage.Rotation90();
                    NewImage.Rotation90();
                }
                if (selection == '3')
                {
                    NewImage.Rotation90();
                    NewImage.Rotation90();
                    NewImage.Rotation90();
                }
            }
            if (selection == '4')
            {
                NewImage.Miroir();
            }
            if (selection == '5')
            {
                Console.Write("Par quel facteur voulez vous agrandir votre image? (Veuillez saisir un entier compris entre 1 et 100) ");
                int facteurA = Convert.ToInt32(Console.ReadLine());
                NewImage.Agrandir(facteurA);
            }
            if (selection == '6')
            {
                Console.Write("Par quel facteur voulez vous agrandir votre image? (Veuillez saisir un entier compris entre 1 et 100) ");
                int facteurR = Convert.ToInt32(Console.ReadLine());
                NewImage.Retrecir(facteurR);
            }
            if (selection == '7')
            {
                NewImage.MatriceFiltre();
            }
            Process.Start(NameImage);
        }
コード例 #6
0
 public Traitement_Image(MyImage ImageDépart)
 {
     this.ImageDépart = ImageDépart;
 }