Documentos de Académico
Documentos de Profesional
Documentos de Cultura
In [1]:
%matplotlib inline
import numpy as np
from skimage import io,data,color
import matplotlib.pyplot as plt
2.2. Se hace una llamada a la función "data" para obtener la imagen deseada:
In [2]:
img=data.camera()
In [3]:
r,c=img.shape
2.4. Se ingresa una variable para saber cuanto es el aumento o disminución de contraste deseado. Se divide
entre 1 para convertirlo a valor numérico y pueda ser operado:
In [4]:
Ingrese contraste: 3
2.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))
2.6. Creamos el algoritmo que nos permite aumentar el contraste. Este algorimo consiste en multiplicar a
cada valor de la matriz de la imagen, el valor "co" y con esto multiplicar 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:
localhost:8888/nbconvert/html/02_Contraste.ipynb?download=false 1/2
1/5/2019 02_Contraste
In [6]:
for i in range(r):
for j in range(c):
e=img[i,j]*co
if e>255:
output[i,j]=255
elif e<0:
output[i,j]=0
else:
output[i,j]=img[i,j]*co
2.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)
2.8. Como paso final, procedemos a usar subplot para poder plotear tanto la imagen original, como la
imagen con el contraste 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/02_Contraste.ipynb?download=false 2/2