Vous êtes sur la page 1sur 2

1/5/2019 01_Brillo

LABORATORIO 02: TRANSFORMACIONES DE PUNTO

En este laboratorio, se procederá a mostrar las diversas operaciones, con su respectiva aplicación y ploteo:

1. AUMENTO Y DISMINUCIÓN DE BRILLO

1.1. Primero, se procede a llamar a las librerías necesarias para la operación:

In [1]:

%matplotlib inline
import numpy as np
from skimage import io,data,color
import matplotlib.pyplot as plt

1.2. Se hace una llamada a la función "data" para obtener la imagen deseada:

In [2]:

img=data.camera()

1.3. Tomamos el rango de la imagen tanto en el eje X como en el eje Y:

In [3]:

r,c=img.shape

1.4. Se ingresa una variable para saber cuanto es el aumento o disminución de brillo deseado. Se divide
entre 1 para convertirlo a valor numérico y pueda ser operado:

In [4]:

cb=int(input("Ingrese brillo: "))/1

Ingrese brillo: 40

1.5. Para hacer una comparación entre la imagen inicial y la imagen deseada, creamos una matriz del
mismo tamaño, pero que tendrá solo valores cero. Esto es con el fin de poder ingresar los valores que
vayamos modificando en el camino:

In [5]:

output=np.zeros((r,c))

localhost:8888/nbconvert/html/01_Brillo.ipynb?download=false 1/2
1/5/2019 01_Brillo

1.6. Creamos el algoritmo que nos permite aumentar el brillo. Este algorimo consiste en sumar a cada valor
de la matriz de la imagen, el valor "cb" y con esto aumentar su valor. Se considera las restricciones tanto en
los valores 0 como en 255 ya que, al ser los valores límites, no deben exceder ese valor porque volverían al
valor siguiente en el rango de 8 bits (De 0 pasaría a 255 si no se puede restar más, y de 255 pasaría a 0 si
no se puede sumar más). Estos valores serán asignados a la matriz output, que actualmente solo tenía
valores 0:

In [6]:

for i in range(r):
for j in range(c):
e=img[i,j]+cb
if e>255:
output[i,j]=255
elif e<0:
output[i,j]=0
else:
output[i,j]=img[i,j]+cb

1.7. La matriz output actualmente consta de valores numéricos, los cuales no pueden ser ploteados como
imagen. Se debe devolver al formato imagen para poder visualizarlo y plotearlo:

In [7]:

output=np.uint8(output)

1.8. Como paso final, procedemos a usar subplot para poder plotear tanto la imagen original, como la
imagen con el brillo modificado:

In [8]:

plt.subplot(1,2,1)
io.imshow(img,cmap='gray')
plt.subplot(1,2,2)
io.imshow(output,cmap='gray')
io.show

Out[8]:

<function skimage.io._io.show()>

localhost:8888/nbconvert/html/01_Brillo.ipynb?download=false 2/2

Vous aimerez peut-être aussi