Está en la página 1de 3

Taller 1

Sarahy Veruzka Chilangay Vallejo


sarahy.chilanguayv@autonoma.edu.co

Resumen—En el siguiente informe se encuentran los códigos


e imágenes obtenidas en el programa Spyder de cada punto
propuesto en el primer taller de la asignatura procesamiento
digital de imágenes (DIP).

0.1. Librerias utilizadas.

import matplotlib.pyplot as plt


from skimage import io,color,exposure
import skimage.transform as tf
from skimage.util import invert Figura 1. (Izquierda a derecha) Imagen de 8 bits, imagen de más de 8 bits,
import numpy as np imagen de 8 bits en escala de grises.

2. Ejercicio 2.
1. Ejercicio 1.
Mostrar sólo una región de la imagen, hacer zoom.
Código:
Subir tres imágenes a Spyder, de 8 bits, de más de 8 bits croppedimg2=img2[50:300,200:370]
y de 8 bits en escala de grises. plt.figure(2)
plt.subplot(1,2,1)
io.imshow(img2)
1.1. Imagen de 8 bits. plt.subplot(1,2,2)
io.imshow(croppedimg2)
Código:
img1=io.imread(”shun.jpg”)
plt.figure(1)
plt.subplot(1,3,1)
io.imshow(img1)

1.2. Imagen de más de 8 bits.

Código:
img2=io.imread(”sho.jpg”)
plt.subplot(1,3,2)
io.imshow(img2)

1.3. Imagen de 8 bits en escala de grises. Figura 2. Resultado punto 2.

Código: 3. Ejercicio 3.
img3=io.imread(.oj.jfif”)
plt.subplot(1,3,3) Rotar una imagen 45° y 90°. Para esto se utiliza la
io.imshow(img3) función rotate de skimage.transform.
3.1. Rotar una imagen 45°. 5. Ejercicio 5.

Código: Realizar la suma: Img2 + Img3


rotateimg1 =tf.rotate(img1, 45, resize=True)
plt.figure(3) Código:
plt.subplot(1,3,1) img11=img2[0:183,0:183]
io.imshow(img1) img21=img3[0:183,0:183]
plt.subplot(1,3,2) img4=img21+img11
io.imshow(rotateimg1) plt.figure(6)
plt.subplot(1,3,1)
3.2. Rotar una imagen 90°. io.imshow(img11)
plt.subplot(1,3,2)
io.imshow(img21)
Código: plt.subplot(1,3,3)
rotate2img1=tf.rotate(img1,90, resize=True) io.imshow(img4)
plt.subplot(1,3,3)
io.imshow(rotate2img1)

Figura 5. (Izquierda a derecha). Fragmento Imagen 2, Fragmento imagen 3,


Suma de ambos fragmentos.

6. Ejercicio 6.
Figura 3. Resultado punto 3.(Izquierda a derecha) Imagen original,Imagen
rotada 45°, Imagen rotada 90° Convertir una imagen de RGB a escala de grises. Se
emplea la función rgb2gray de skimage
Código:
4. Ejercicio 4. grises=color.rgb2gray(img2)
plt.figure(5)
Calcular la inversa de una imagen. Para ello se utilizó la plt.subplot(1,2,1)
función invert de skimage.util io.imshow(img2)
Código: plt.subplot(1,2,2)
inver=invert(img1) io.imshow(grises)
plt.figure(4)
plt.subplot(1,2,1)
io.imshow(img1)
plt.subplot(1,2,2)
io.imshow(inver)

Figura 4. Resultado punto 4.(Izquierda a derecha) Imagen original, Inversa


de la imagen Figura 6. (Izquierda a derecha).Imagen RGB, imagen en escala de grises.
7. Ejercicio 7.
Calcular la traza y la transpuesta de una imagen.

7.1. Calcular la traza de una imagen.

Para ello la matriz debe ser cuadrada, por lo cual se


tomó un fragmento cuadrado de la imagen 1.
Código:
cont=0;r=0;b=0;g=0
for i in range(183):
for j in range (183): Figura 8. Resultado punto 7.2. Imagen original y la transpuesta
if(i==j):
r=r+img11[i][j][0]
g=g+img11[i][j][1] 8. Ejercicio 8.
b=b+img11[i][j][2]
cont=cont+1 Realizar la multiplicación: Img1*Img3
print (”Traza banda red:”,r) Código:
print (”Traza banda green:”,g) imge=img1[50:183, 50:183]
print (”Traza banda blue:”,b) imges=img3[50:183, 50:183]
img5=imge*imges
plt.figure(7)
plt.subplot(1,3,1)
io.imshow(imge)
plt.subplot(1,3,2)
io.imshow(imges)
plt.subplot(1,3,3)
io.imshow(img5)

Figura 7. Resultado punto 7.1, Traza de cada una de las bandas del fragmento
de la imagen 1.

7.2. Calcular la transpuesta de una imagen.

Para calcular la transpuesta se empleó la función


transpose de numpy. Figura 9. Fragmento imagen 1, fragmento imagen 2, Multiplicación de
Se empleó la función exposure.rescale-intensity de skimage ambos fragmentos.
para convertir la imagen obtenida con valores flotantes a
valores enteros para que pudiera visualizarse con la función
Referencias
io.imshow..
Código:
[1] Anaconda, Spyder, Python
red=np.transpose(img1[:,:,0])
green=np.transpose(img1[:,:,1])
blue=np.transpose(img1[:,:,2])
dim=(640,400,3)
img6=np.zeros(dim)
img6[:,:,0]=red
img6[:,:,1]=green
img6[:,:,2]=blue
plt.figure(8)
plt.subplot(1,2,1)
io.imshow(img1)
img6= exposure.rescale-intensity(img6, in-range=’uint8’)
plt.subplot(1,2,2)
io.imshow(img6)

También podría gustarte