Bien pues inserta dos contenedores de imagen panel

Info icon This preview shows pages 2–5. Sign up to view the full content.

Bien, pues inserta dos contenedores de imagen ( Panel + PictureBox ) como se ha indicado en el párrafo anterior. 1.1.2.- Visualización de imágenes Ahora vamos a empezar a darle funcionalidad a la aplicación y empezaremos gestionando la apertura y cierre de imágenes. Para ello introduce en primer lugar un control del tipo OpenFileDialog , y luego introduce el siguiente código en el evento Click de la opción Abrir del menú Archivo : 2
Image of page 2

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

T RATAMIENTO R ADIOMÉTRICO B ENJAMÍN A RIAS P ÉREZ P ROCESAMIENTO D IGITAL DE I MÁGENES With OpenFileDialog1 .Filter = "Ficheros BMP|*.bmp" & _ "|Ficheros GIF|*.gif" & _ "|Ficheros JPG o JPEG|*.jpg;*.jpeg" & _ "|Ficheros PNG|*.png" & _ "|Ficheros TIFF|*.tif" .FilterIndex = 3 If (.ShowDialog() = Windows.Forms.DialogResult.OK) Then PictureBox1.Image = Image.FromFile(.FileName) Panel1.AutoScrollMinSize = PictureBox1.Image.Size End If End With Se necesita inicializar la propiedad AutoScrollMinSize del control Panel1 con el tamaño de la imagen para poder mostrar las barras de desplazamiento. Para cerrar la imagen deberemos incluir en la opción Cerrar del menú Archivo el siguiente código: PictureBox1.Image = Nothing Panel1.AutoScroll = False Por último, en la opción Salir del menú Archivo introducimos simplemente End , para que la aplicación finalice al seleccionar esta opción. 1.1.3.- Acceso a los niveles digitales de la imagen Ya hemos visto cómo cargar y visualizar imágenes, ahora vamos a ver cómo podemos acceder a los colores correspondientes a los píxeles de la imagen cargada de una forma intuitiva. En este tema se van a volcar los colores a una matriz bidimensional con las mismas dimensiones que la imagen. Los colores se leen en un formato específico, System.Drawing.Color , que contiene los valores de rojo, verde y azul. Como la matriz bidimensional la queremos poder utilizar en cualquier lugar de la aplicación, lo mejor es definirla sin dimensiones en la sección de Declaraciones del formulario. 3
Image of page 3
C URSO 2009-2010 H ERRAMIENTAS I NFORMÁTICAS G EOTECNOLOGÍAS C ARTOGRÁFICAS EN I NGENIERÍA Y A RQUITECTURA PARA EL G EOPROCESADO Public Matriz(,) As System.Drawing.Color Utilizando Image del control PictureBox podemos acceder a diferentes propiedades de la imagen cargada, como son el ancho ( Width ) y el alto ( Height ), que nos van a hacer falta para dimensionar la matriz. Así, una vez cargada la imagen ya podremos redimensionar la matriz para que tenga capacidad de almacenar la imagen. En el menú Operaciones añade un elemento llamado Cargar Matriz y escribe dentro el siguiente código: Dim i, j As Long ReDim Matriz(PictureBox1.Image.Width - 1, PictureBox1.Image.Height - 1) Dim bmp As New Bitmap(PictureBox1.Image) For i = 0 To PictureBox1.Image.Width - 1 For j = 0 To PictureBox1.Image.Height - 1 Matriz(i, j) = bmp.GetPixel(i, j) Next Next En primer lugar fíjate que establecemos el ancho y el alto, pero descontamos la unidad. Esto es debido a que el mínimo valor de la matriz es 0, mientras que el alto y el ancho comienzan en 1.
Image of page 4

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

Image of page 5
This is the end of the preview. Sign up to access the rest of the document.
  • Fall '18
  • Pixel, NeXT, Procesamiento digital de imágenes, BENJAMÍN ARIAS PÉREZ

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern