FHRL

Localización de círculos V0.4.2 (detecta method)

Apr 4th, 2022 (edited)
1,440
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.40 KB | None | 0 0
  1. /*
  2.  * Created by SharpDevelop.
  3.  * User: fhrl0
  4.  * Date: 14/09/2019-21/02/2022
  5.  * Time: 08:00 p. m.
  6.  * Version: 0.4.2
  7.  * To change this template use Tools | Options | Coding | Edit Standard Headers.
  8.  */
  9. using System;
  10. using System.Collections.Generic;
  11. using System.Drawing;
  12. using System.Windows.Forms;
  13.  
  14. namespace Actividad_1
  15. {
  16.     /// <summary>
  17.     /// Description of MainForm.
  18.     /// </summary>
  19.     public partial class MainForm : Form
  20.     {
  21.         Bitmap Original,Drawing;
  22.         OpenFileDialog openFileDialogImagen=new OpenFileDialog();
  23.         public MainForm()
  24.         {
  25.             //
  26.             // The InitializeComponent() call is required for Windows Forms designer support.
  27.             //
  28.             InitializeComponent();
  29.            
  30.             //
  31.             // TODO: Add constructor code after the InitializeComponent() call.
  32.             //
  33.         }
  34.         int codificador(bool[]arregloBits){
  35.             int abstracto=0;
  36.             for(int i=0;i<arregloBits.Length;i++){
  37.                 abstracto=abstracto*2;
  38.                 if(arregloBits[i])
  39.                     abstracto++;
  40.             }
  41.             return abstracto;
  42.         }
  43.         bool esNegro(int x,int y){
  44.             return(int)Original.GetPixel(x,y).R
  45.                  +(int)Original.GetPixel(x,y).G
  46.                  +(int)Original.GetPixel(x,y).B<(int)383;
  47.         }
  48.         bool esMasOscuro(Color esteAComparar,Color QueElOtroAComparar){
  49.             return((int)esteAComparar.R
  50.                  +(int)esteAComparar.G
  51.                  +(int)esteAComparar.B)
  52.                               <
  53.                  ((int)QueElOtroAComparar.R
  54.                  +(int)QueElOtroAComparar.G
  55.                  +(int)QueElOtroAComparar.B);
  56.         }
  57.         void ButtonMostrarClick(object sender, EventArgs e){
  58.             if(pictureBoxMuestra.Image==null){
  59.             }else{
  60.                 //Original=(Bitmap)pictureBoxMuestra.Image;
  61.                 Drawing=(Bitmap)(Original=(Bitmap)pictureBoxMuestra.Image);
  62.                 Point Inicio=new Point(0,0),
  63.                         fin=new Point(Original.Width-1,Original.Height-1);
  64.                 //analizar(Inicio,Fin);
  65.                 analizar(0,0,Original.Width-1,Original.Height-1);
  66.                 pictureBoxMuestra.Refresh();
  67.                 pictureBoxMuestra.Image=Drawing;
  68.             }
  69.    
  70.         }
  71.         void analizar(Point inicio,Point fin){
  72.             Point posicion=new Point();
  73.             for(posicion.Y=inicio.Y;posicion.Y<fin.Y;posicion.Y++)
  74.                 for(posicion.X=inicio.X;posicion.X<fin.X;posicion.X++){
  75.                     if(esMasOscuro(Drawing.GetPixel(posicion.X,posicion.Y),Color.Gray))
  76.                         detecta(inicio,posicion,fin);
  77.                     //Drawing.SetPixel(posicion.X,posicion.Y,Color.OrangeRed);
  78.             }
  79.             pictureBoxMuestra.Refresh();
  80.         }
  81.         /*void analizar(int inicioX, int inicioY,int finX,int finY){
  82.             Point posicion=new Point();
  83.             for(posicion.Y=inicioY;posicion.Y<finY;posicion.Y++)
  84.                 for(posicion.X=inicioX;posicion.X<finX;posicion.X++){
  85.                     if(esMasOscuro(Drawing.GetPixel(posicion.X,posicion.Y),Color.Gray))
  86.                         detecta(inicioX,inicioY,finX,finY);
  87.                     //Drawing.SetPixel(posicion.X,posicion.Y,Color.OrangeRed);
  88.             }
  89.             pictureBoxMuestra.Refresh();
  90.         }*/
  91.        
  92.         void detecta(Point inicio,Point posicion,Point fin){
  93.             for(;;){
  94.                 esMasOscuro(Drawing.GetPixel(posicion.X,posicion.Y),Color.Gray)
  95.             }
  96.             if(inicioX< <finX && inicioY< <finY){
  97.                
  98.             }
  99.             //Drawing.SetPixel(i,j,Color.OrangeRed);
  100.         }
  101.         void ButtonAbrirMouseClick(object sender, MouseEventArgs e){
  102.             openFileDialogImagen.ShowDialog();
  103.             pictureBoxMuestra.Image=Image.FromFile(openFileDialogImagen.FileName);
  104.    
  105.         }
  106.     }
Add Comment
Please, Sign In to add comment