ING1310 201520 Tarea 2

Páginas: 8 (1966 palabras) Publicado: 27 de octubre de 2015
ING1310 - Introducción a la Computación

Tarea 2

Fecha de Entrega: martes 27 de octubre hasta las 23:59.

1. Introducción
En esta tarea aprenderás sobre procesamiento básico de imágenes en Python. Además de conocer cómo representa una imagen el computador. El objetivo de la tarea es que apliques todo el
conocimiento que has aprendido durante el curso, en especial la materia de listas, arreglos ygráficos.

2. Explicación Previa
Para poder trabajar con imágenes es necesario entender como se representa una imagen en un
programa, y cómo se puede operar sobre ella.
En palabras sencillas, una imagen es una matriz donde cada celda representa un color. Cada una
de estas celdas es conocida como pixel. Ahora bien, cada color está representado por tres valores
enteros, uno que representa laintensidad de rojo, otro la intensidad de verde y el último la intensidad
de azul, esto se conoce como el modelo RGB (por las siglas en inglés RedGreenBlue). La intensidad
de cada color va entre 0 y 255, siendo el número la cantidad de color. Por ejemplo, el blanco es
[255255255], el negro es [000] (ausencia de color), el amarillo es la mezcla entre rojo y verde, por lo
que estaría representado por[2552550]. Para más detalles se recomienda el siguiente link:
http://en.wikipedia.org/wiki/RGB

(a) Imagen

(b) Pixeles

Figura 1: Una imagen como la de la izquierda está compuesta por pixeles, como los que se ven en
la figura de la derecha.
Para la tarea deberás utilizar el anexo que se incluye al final del enunciado, donde se explica en
detalle cómo leer, mostrar y guardar una imagen en Python.
Alleer una imagen desde un archivo con Python obtendremos un arreglo tridimensional, donde
las dos primeras dimensiones tendremos la posición del pixel y en la tercera las intensidades de rojo,
verde y azul del pixel respectivamente.

1

2

1 (0,0)

(0,1)

(0,2)

0 (1,0)
0

(1,1)

(1,2)

1

2

3

Figura 2: Representación de una imagen de 2x3 pixeles y la disposición de ellos.
En la Figura 2, podemosver una representación de una imagen de 2x3 pixeles, y como estos
pixeles se ubican en un arreglo en Python.
2

1 [0 0 0]

[0 0 255]

0 [255 255 255] [255 0 0]
0
1

[255 255 0]

[0 255 0]
2

3

Figura 3: Representación de una imagen de 2x3 pixeles y las intesidades de ellos.
En la Figura 3, podemos ver una representación de una imagen de 2x3 pixeles, y las intensidades
que poseen cada uno.
Sileemos las imágenes que aparecen en la Figura 2 y Figura 3, la representación gráfica de los
arreglos se vería de la siguiente manera:
fig2 = [[[
0.
[ 255.
[
0.

0.
255.
0.

0.]
255.]
0.]]

[[ 255.
[
0.
[ 255.

255.
0.
255.

255.]
0.]
255.]]]

fig3 = [[[
0.
[
0.
[ 255.

0.
0.
255.

0.]
255.]
0.]]

[[ 255.
[ 255.
[
0.

255.
0.
255.

255.]
0.]
0.]]]

2

3. Descripción del menú
(0,5 puntos) Acontinuación se detalla el menú que debe incluir tu tarea y que acciones debe
realizar. El menú tiene un contexto de que existe una imagen en memoria y esta va cambiando a
medida que el usuario le aplica rotaciones o filtros. Después de finalizar cada acción el programa
debe volver al menú principal. Además, después de aplicarle una rotación o un filtro a la imagen
debe preguntarle al usuario si deseaguardar la imagen, y en caso afirmativo debe preguntarle el
nombre del archivo con el cuál quedará guardada la imagen (0,2 puntos, los cuales ya están incluidos
en cada ítem).
1. Mostrar Imagen (1,0 punto) → Muestra la imagen en pantalla.

Figura 4: Imagen original mostrada a través de Python.
2. Aplicar rotación (1,0 punto) → Muestra al usuario los grados en que puede rotar la imagen
en sentidohorario.
1. 90º
2. 180º
3. 270º

3

Figura 5: Imagen original rotada en 90º.
3. Aplicar filtro → Muestra al usuario los distintos filtros que puede aplicarle a una imagen.
1. Escala de grises (1,0 puntos)
En el modelo RGB obtenemos gris cuando las tres intensidades son iguales, es decir,
tenemos 256 tonalidades distintas de grises. Una forma de transformar una imagen a
escala de grises es tomar el...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Tarea 2
  • TAREA 2
  • tarea 2
  • tarea 2
  • tarea 2
  • Tarea 2
  • Tarea 2
  • Tarea 2

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS