SlideShare une entreprise Scribd logo
1  sur  8
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]
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.
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.
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:
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
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
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
Éxitos

Contenu connexe

En vedette

24 compactacion de campo
24 compactacion de campo24 compactacion de campo
24 compactacion de campo
unicojavier
 
Zegarra ciquero luis_analisis_dise%c3%91_o_puentes_colgantes
Zegarra ciquero luis_analisis_dise%c3%91_o_puentes_colgantesZegarra ciquero luis_analisis_dise%c3%91_o_puentes_colgantes
Zegarra ciquero luis_analisis_dise%c3%91_o_puentes_colgantes
Carlos Acosta
 
Sistemas pasivos de proteccion sismica
Sistemas pasivos de proteccion sismicaSistemas pasivos de proteccion sismica
Sistemas pasivos de proteccion sismica
Nelson Echeverria M
 
Criterios de diseño de desarenadores
Criterios de diseño de desarenadoresCriterios de diseño de desarenadores
Criterios de diseño de desarenadores
librotadeo
 
Cap.7 geotecnia aplicada a estudio de canales presas, trasvases y otros
Cap.7   geotecnia aplicada a estudio de canales presas, trasvases y otrosCap.7   geotecnia aplicada a estudio de canales presas, trasvases y otros
Cap.7 geotecnia aplicada a estudio de canales presas, trasvases y otros
Jaime amambal
 
compactaciones de los suelos
compactaciones de los sueloscompactaciones de los suelos
compactaciones de los suelos
Edison Barros
 
manual de casas de mamposteria
manual de casas de mamposteria manual de casas de mamposteria
manual de casas de mamposteria
toncotes87
 

En vedette (20)

24 compactacion de campo
24 compactacion de campo24 compactacion de campo
24 compactacion de campo
 
Matriz de consistencia
Matriz de consistenciaMatriz de consistencia
Matriz de consistencia
 
Actividad Sísmica
Actividad SísmicaActividad Sísmica
Actividad Sísmica
 
Zegarra ciquero luis_analisis_dise%c3%91_o_puentes_colgantes
Zegarra ciquero luis_analisis_dise%c3%91_o_puentes_colgantesZegarra ciquero luis_analisis_dise%c3%91_o_puentes_colgantes
Zegarra ciquero luis_analisis_dise%c3%91_o_puentes_colgantes
 
Tonelada milla josecampospinto2010
Tonelada milla josecampospinto2010Tonelada milla josecampospinto2010
Tonelada milla josecampospinto2010
 
Sistemas pasivos de proteccion sismica
Sistemas pasivos de proteccion sismicaSistemas pasivos de proteccion sismica
Sistemas pasivos de proteccion sismica
 
Zonif tacna
Zonif tacnaZonif tacna
Zonif tacna
 
Fallas Ciegas Quito
Fallas Ciegas QuitoFallas Ciegas Quito
Fallas Ciegas Quito
 
Videoterra.horacio saleme. jul 2015. c
Videoterra.horacio saleme. jul 2015. cVideoterra.horacio saleme. jul 2015. c
Videoterra.horacio saleme. jul 2015. c
 
Pic
PicPic
Pic
 
EQUIPOS DE COMPACTACIÓN - (SECCIÓN 6)
EQUIPOS DE COMPACTACIÓN - (SECCIÓN 6)EQUIPOS DE COMPACTACIÓN - (SECCIÓN 6)
EQUIPOS DE COMPACTACIÓN - (SECCIÓN 6)
 
Criterios de diseño de desarenadores
Criterios de diseño de desarenadoresCriterios de diseño de desarenadores
Criterios de diseño de desarenadores
 
Cap.7 geotecnia aplicada a estudio de canales presas, trasvases y otros
Cap.7   geotecnia aplicada a estudio de canales presas, trasvases y otrosCap.7   geotecnia aplicada a estudio de canales presas, trasvases y otros
Cap.7 geotecnia aplicada a estudio de canales presas, trasvases y otros
 
PRESA DE TIERRA
PRESA DE TIERRAPRESA DE TIERRA
PRESA DE TIERRA
 
Laboratorio ensayo proctor (afirmado)
Laboratorio ensayo proctor (afirmado)Laboratorio ensayo proctor (afirmado)
Laboratorio ensayo proctor (afirmado)
 
Compactacion suelos
Compactacion suelosCompactacion suelos
Compactacion suelos
 
Compactacion de suelos
Compactacion de suelosCompactacion de suelos
Compactacion de suelos
 
Proceso constructivo de una carretera
Proceso constructivo de una carreteraProceso constructivo de una carretera
Proceso constructivo de una carretera
 
compactaciones de los suelos
compactaciones de los sueloscompactaciones de los suelos
compactaciones de los suelos
 
manual de casas de mamposteria
manual de casas de mamposteria manual de casas de mamposteria
manual de casas de mamposteria
 

Similaire à Contenedoras de dos dimensiones

Imágenes de vectores y pixeles
Imágenes de vectores y pixelesImágenes de vectores y pixeles
Imágenes de vectores y pixeles
Luisa Puerta
 
Imágenes de vectores y pixeles
Imágenes de vectores y pixelesImágenes de vectores y pixeles
Imágenes de vectores y pixeles
Luisa Puerta
 
Imagen digital
Imagen digitalImagen digital
Imagen digital
bbrti
 
Imagen Vestorial Y De Mapa De Bits
Imagen Vestorial Y De Mapa De BitsImagen Vestorial Y De Mapa De Bits
Imagen Vestorial Y De Mapa De Bits
quikene
 
282361940-Seguimiento-de-Objetos-de-Colores-Con-Webcam-en-Matlab.docx
282361940-Seguimiento-de-Objetos-de-Colores-Con-Webcam-en-Matlab.docx282361940-Seguimiento-de-Objetos-de-Colores-Con-Webcam-en-Matlab.docx
282361940-Seguimiento-de-Objetos-de-Colores-Con-Webcam-en-Matlab.docx
JessicaGarcaCardona1
 
OPERACIONES CON MATRICES, INTERPOLACIONES, AJUSTE DE CURVAS, POLINOMIOS
OPERACIONES CON MATRICES, INTERPOLACIONES, AJUSTE DE CURVAS, POLINOMIOSOPERACIONES CON MATRICES, INTERPOLACIONES, AJUSTE DE CURVAS, POLINOMIOS
OPERACIONES CON MATRICES, INTERPOLACIONES, AJUSTE DE CURVAS, POLINOMIOS
davp2012
 
Procesamiento digital de imágenes
Procesamiento digital de imágenesProcesamiento digital de imágenes
Procesamiento digital de imágenes
jvelalazquezdiaz
 

Similaire à Contenedoras de dos dimensiones (20)

Imágenes de vectores y pixeles
Imágenes de vectores y pixelesImágenes de vectores y pixeles
Imágenes de vectores y pixeles
 
Las matemáticas en el retoque digital de imágenes
Las matemáticas en el retoque digital de imágenesLas matemáticas en el retoque digital de imágenes
Las matemáticas en el retoque digital de imágenes
 
Imágenes de vectores y pixeles
Imágenes de vectores y pixelesImágenes de vectores y pixeles
Imágenes de vectores y pixeles
 
Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST
Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNISTReconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST
Reconocimiento de Dígitos Manuscritos usando la Dase de Datos MNIST
 
Scastillo.pptx
Scastillo.pptxScastillo.pptx
Scastillo.pptx
 
Retoque fotográfico
Retoque fotográficoRetoque fotográfico
Retoque fotográfico
 
Tema4 contraste
Tema4 contrasteTema4 contraste
Tema4 contraste
 
Tema 2: Imagen Digital
Tema 2: Imagen DigitalTema 2: Imagen Digital
Tema 2: Imagen Digital
 
Imagen digital
Imagen digitalImagen digital
Imagen digital
 
Introducción al video y la edición digital
Introducción al video y la edición digitalIntroducción al video y la edición digital
Introducción al video y la edición digital
 
Imagen Vestorial Y De Mapa De Bits
Imagen Vestorial Y De Mapa De BitsImagen Vestorial Y De Mapa De Bits
Imagen Vestorial Y De Mapa De Bits
 
282361940-Seguimiento-de-Objetos-de-Colores-Con-Webcam-en-Matlab.docx
282361940-Seguimiento-de-Objetos-de-Colores-Con-Webcam-en-Matlab.docx282361940-Seguimiento-de-Objetos-de-Colores-Con-Webcam-en-Matlab.docx
282361940-Seguimiento-de-Objetos-de-Colores-Con-Webcam-en-Matlab.docx
 
Simulación en Ing. Eléctrica - Aproximación de funciones
Simulación en Ing. Eléctrica - Aproximación de funcionesSimulación en Ing. Eléctrica - Aproximación de funciones
Simulación en Ing. Eléctrica - Aproximación de funciones
 
Segmentación de Color con MATLAB
Segmentación de Color con MATLABSegmentación de Color con MATLAB
Segmentación de Color con MATLAB
 
OPERACIONES CON MATRICES, INTERPOLACIONES, AJUSTE DE CURVAS, POLINOMIOS
OPERACIONES CON MATRICES, INTERPOLACIONES, AJUSTE DE CURVAS, POLINOMIOSOPERACIONES CON MATRICES, INTERPOLACIONES, AJUSTE DE CURVAS, POLINOMIOS
OPERACIONES CON MATRICES, INTERPOLACIONES, AJUSTE DE CURVAS, POLINOMIOS
 
Características de la Imagen Digital
Características de la Imagen DigitalCaracterísticas de la Imagen Digital
Características de la Imagen Digital
 
Procesamiento digital de imágenes
Procesamiento digital de imágenesProcesamiento digital de imágenes
Procesamiento digital de imágenes
 
Procesador de imágenes toolbox Matlab
Procesador de imágenes toolbox MatlabProcesador de imágenes toolbox Matlab
Procesador de imágenes toolbox Matlab
 
manual-de-photoshop-cs5.pdf
manual-de-photoshop-cs5.pdfmanual-de-photoshop-cs5.pdf
manual-de-photoshop-cs5.pdf
 
Colores Ysombras
Colores YsombrasColores Ysombras
Colores Ysombras
 

Dernier

5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
MiNeyi1
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 

Dernier (20)

5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 

Contenedoras de dos dimensiones

  • 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. 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. 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. 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. 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. 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. 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