[b]"Chez ceux qui semblent très vertueux se cachent en général la vanité, l'orgueil, l'intolérance".
P.Coehlo (Maktub 2004)/b
[b]"Chez ceux qui semblent très vertueux se cachent en général la vanité, l'orgueil, l'intolérance".
P.Coehlo (Maktub 2004)/b
private void ProcessImage(Bitmap bitmapecran) { // Appel de la fonction Detection LEDs seuillage et redimensionnement int nombre_led = 0; // balayage auomatique du seuillage for(int k=475;k<=490;k++) { balayage auomatique du redimentionnement for(double j=0.78;j<=0.8;j=j+0.01) { // balayage automatique du redimentionnment nombre_led = 0; Bitmap bitmap = DetectionLeds(bitmapecran, k, j); // Enfermer l'image de l'entree afin qu'elle puisse etre modifié BitmapData bitmapData = bitmap.LockBits( new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadWrite, bitmap.PixelFormat); // ------------- Localisation de Forme ------------- // Creation d'objet FormeLocaliser BlobCounter blobCounter = new BlobCounter(); blobCounter.FilterBlobs = true; // Mettre l'objet creer dans l'image d'entreé blobCounter.ProcessImage(bitmapData); // Avoir toutes les informations sur l'image d'entrée Blob[] blob = blobCounter.GetObjectsInformation(); // Liberer l'image de l'entrer apres avoir passer en localisation d'objet bitmap.UnlockBits(bitmapData); // Creation d'objet graphique SimpleShapeChecker shapeChecker = new SimpleShapeChecker(); Graphics g = Graphics.FromImage(bitmap); // Entourer les cercles par une couleurs Jaune Pen Bleu = new Pen(Color.Blue, 2);// circles // ------------- Detection de cercle ------------- for (int i 0, n blob.Length; i < n; i++) { // la detection des pixels de bord pour savoir la forme List edgePoints = blobCounter.GetBlobsEdgePoints(blob[i]); DoublePoint centre; double rayon; //------------- Pour le cercle ------------- // Si la forme detecter est un cercle if (shapeChecker.IsCircle(edgePoints, out centre, out rayon)) { // la methodes DrawEllipse à pour but de creer un rectangle pour estimer le rayon et le cercle pour detecter la forme du cercle g.DrawEllipse(Bleu, (float)(centre.X - rayon), (float)(centre.Y - rayon), (float)(rayon * 2), (float)(rayon * 2)); if (rayon >= 22) // le nombre de LEDs exisante nombre_led = nombre_led + 1; } } if (nombre_led == 66) { k = 2000; j = 1000; } // application du contour du cercle en Jaune à de la classe drawing System Bleu.Dispose(); // application de l'objet graphique à l'aide de la classe drawing Graphique g.Dispose(); Clipboard.SetDataObject(bitmap); pictureBox.Image = bitmap; } }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question