Curso: Algoritmos y programación 3
NIVEL 6 – ESTRUCTURAS CONTENEDORAS DE DOS DIMENSIONES

COMPETENCIAS A DESARROLLAR:
Util...
MAPA CONCEPTUAL

EL CASO DE ESTUDIO
A continuación se indica un caso de estudio tomado del proyecto cupi2 universidad de l...
Transformación 1: Negativo
Para calcular el negativo de una imagen calcularemos el color negativo de cada píxel.
Para ello...
En este caso se sugiere el umbral como el color promedio de la imagen. Para calcular el
color promedio, de un grupo de píx...
Transformación 5: Escala de Grises
Descripción: Para convertir la imagen a grises, se promedian los componentes de cada
pí...
convolución) no aplican todos los factores de la matriz (porque no todos tienen un píxel
correspondiente), sólo los que ef...
Algunas transformaciones requieren parámetros: para aplicar la binarización se necesita un umbral, para aplicar una
convol...
Éxitos
Próxima SlideShare
Cargando en…5
×

Contenedoras de dos dimensiones

260 visualizaciones

Publicado el

Contenedoras dos dimensiones

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
260
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
3
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Contenedoras de dos dimensiones

  1. 1. Curso: Algoritmos y programación 3 NIVEL 6 – ESTRUCTURAS CONTENEDORAS DE DOS DIMENSIONES COMPETENCIAS A DESARROLLAR: Utilizar el concepto de matriz como elemento de modelaje, permitiendo agrupar elementos del mundo en una estructura contenedora de dos dimensiones de tamaño fijo. Identificar los patrones de algoritmo para manejo de matrices, dada la especificación de un método. Utilizar el esqueleto del patrón de algoritmo y los pasos asociados como medio para escribir un algoritmo para manipular una matriz. RECURSOS: Equipo de cómputo Internet Lenguaje de programación JAVA– Eclipse INFORMACION INICIAL En la vida diaria el concepto de conjunto ordenado de elementos tiene una gran importancia. Las matrices se usarán como contenedores para almacenar datos relacionados (en vez de declarar como variables separadas cada uno de los elementos del array). Las matrices nos permitirán registrar conjuntos de datos. Cada elemento de la matriz podrá ser accedido directamente por el nombre de la matriz seguido de uno o más subíndices enteros, en función de la dimensión de la matriz, encerrados entre corchetes así: m[0] [0]
  2. 2. MAPA CONCEPTUAL EL CASO DE ESTUDIO A continuación se indica un caso de estudio tomado del proyecto cupi2 universidad de los Andes que permite ilustrar este tema:(Universidad de los Andes, programa de Ingeniería de Sitemas y Computaciòn, 2010) Enunciado Se requiere construir una aplicación que permita la visualización de imágenes en formato BMP.El formato BMP consiste en guardar la información del color de cada píxel que conforma a la imagen.El color de un píxel está representado en el sistema RGB (RedGreen-Blue), en el cual el color se forma de la combinación de tres componentes (rojo, verde y azul) cada uno de los cuales es representado por un número que indica la proporción del color del componente en el color final. En la aplicación se mostrará una imagen la cual puede ser de un ancho de máximo 400 píxeles y de un alto de máximo 300 píxeles. Al cargar una imagen, si está es de dimensiones mayores a las máximas, se debe tomar solo la porción de la imagen determinada por las dimensiones máximas. También es posible cargar imágenes de dimensiones menores al de las dimensiones máximas. Además de mostrar la imagen. El programa debe ofrecer seis (6) métodos de transformación de la imagen. Cada uno de estos métodos de transformación se aplica a la imagen cuando se oprime el botón correspondiente.
  3. 3. Transformación 1: Negativo Para calcular el negativo de una imagen calcularemos el color negativo de cada píxel. Para ello debemos restar a cada componente 255 (máximo valor para un componente) y tomar el valor de absoluto de dicha resta. Con los nuevos valores de los componentes formamos el nuevo color. Ejemplo: Para la imagen de ejemplo, el resultado de aplicar la transformación 1 es: Transformación 2: Flip Vertical Descripción: Sirve para invertir verticalmente una imagen. Para ello se intercambian las columnas de píxeles de la imagen: La primera con la última, la segunda con penúltima, etc. Ejemplo: Para la imagen de ejemplo, el resultado de aplicar la transformación 2 es: Transformación 3: Binarización Descripción: Consiste en llevar los colores de la imagen a dos colores: Negro y Blanco. Para ello se establece un umbral y los píxeles con colores que están por encima o igual al umbral se cambian a blanco y por debajo se cambian a negro.
  4. 4. En este caso se sugiere el umbral como el color promedio de la imagen. Para calcular el color promedio, de un grupo de píxeles se promedian cada uno de sus componentes y se forma un nuevo color con dichos promedios como componentes. Ejemplo: Para la imagen de ejemplo, el umbral sugerido es su valor de color promedio: Transformación 4: Pixelamiento Descripción: Para esta transformación se divide la imagen en pequeñas regiones de más de un píxel, y se busca el color promedio para esa región (ver transformación3 para la descripción del color promedio), para después cambiar el color de toda la región al color promedio. Las regiones deben ser de un alto y un ancho que sean divisores del ancho y alto de la imagen total respectivamente. En este caso buscaremos las dimensiones de la región como: Ancho región: menor divisor mayor a uno del ancho de la imagen. Alto región: menor divisor mayor a uno del alto de la imagen. Ejemplo : Para la imagen de ejemplo, el resultado de aplicar la transformación 4 es:
  5. 5. Transformación 5: Escala de Grises Descripción: Para convertir la imagen a grises, se promedian los componentes de cada píxel y se crea un nuevo color donde cada componente (RGB) tiene el valor de dicho promedio Ejemplo: Para la imagen de ejemplo, el resultado de aplicar la transformación 5 es: Transformación 6: Convolución Descripción: La convolución consiste en operar para cada píxel, su región de píxeles vecinos (incluyéndolo), con unos factores que se ingresan en una matriz cuadrada de dimensión impar (para este ejemplo utilizaremos una matriz de 3x3). La dimensión de la matriz de convolución define la región de píxeles vecinos. La forma en que se opera la región de píxeles con esta matriz es: El centro de la matriz coincide con el píxel que se esta procesando. Cada píxel (en realidad cada componente del píxel) de la región se multiplica con su factor correspondiente. Se suman los resultados de estas multiplicaciones. La sumatoria anterior se divide por la suma de los factores que fueron operados: Si el píxel está cerca del borde de la imagen (tomando en cuenta la dimensión de la matriz de
  6. 6. convolución) no aplican todos los factores de la matriz (porque no todos tienen un píxel correspondiente), sólo los que efectivamente se operaron. El color que se crea con el resultado de las operaciones anteriores (que se hace para cada componente) reemplaza al color del píxel original (el del centro). Sin embargo puede darse el caso de que la suma de los factores sea 0: en ese caso no se realiza la división. Esto puede dar origen a interesantes efectos como la detección de bordes. La operación de la imagen con la matriz de convolución debe hacerse sobre el mapa de píxeles original y no acumular las transformaciones a píxeles hechas por operaciones anteriores con la matriz. Ejemplo: Con la siguiente matriz de convolución, el efecto obtenido es la suavización de la imagen: Requerimientos R1 – Mostrar una imagen BMP Nombre Resumen Se debe mostrar una imagen BMP de máximo 400x300 píxeles. Si la imagen es más grande se debe solamente mostrar la esquina superior izquierda hasta ocupar el espacio disponible. Entradas Nombre del archivo que contiene la imagen Resultados La imagen BMP que es presentada en la pantalla Nombre R2 – Transformar la imagen Resumen A partir de la imagen presentada en pantalla, mostrar el resultado de aplicar seis transformaciones a la misma. Estas transformaciones incluyen, el negativo de la imagen, el flip horizontal, la binarización, el pixelamiento, escala de grises y convolución. Entradas Imagen Original antes de que se aplique el filtro
  7. 7. Algunas transformaciones requieren parámetros: para aplicar la binarización se necesita un umbral, para aplicar una convolución es necesaria una matriz de convolución. Resultados La imagen después de que se aplicó el filtro Modelo conceptual PATRONES DE RECORRIDO
  8. 8. Éxitos

×