domingo, 9 de octubre de 2016

Aumento de contraste

Aumento de contraste

El contraste mide, en cierto modo, el rango dinámico de los colores en la imagen, es decir, una imagen muy contrastada tiene un amplio abanico de colores (o tonos de gris) desde valores muy bajos a valores muy altos. Para una imagen con poco contraste los colores están muy juntos, el margen dinámico es pequeño.

import numpy  as np                                                           #Se importan las librerias
import cv2
img = cv2.imread ('C:\Python27\leons.jpg',0)                   #Se abre la imagen
row, col=img.shape                                                            #se conoce el tamaño de la imagen
print row                                                                             #en esta linea y la siguiente se imprime el tamaño
print col
contraste=np.zeros((row,col),dtype=np.uint8)                   #Se crea una matriz
np.amin(img)                                                                      #Saca el minimo de la imagen
print np.amin(img)                                                             #Imprime el valor minimo
a=np.amin(img)                                                                 #El valor minimo se almacena en una variabe
np.amax(img)                                                                     #Saca el valor maximo
b=np.amax(img)                                                                 #Almacena el maximo en una variable
print b                                                                                 #Imprime valor maximo
for i in range(0,row):                                                          #Se recorre la matriz
                for j in range (0,col):
                               contraste[i,j]=(img[i,j]-b)*255/(a-b)    #Se usa la formula para el contraste

cv2.imshow ('escala grises',img)                                        #Muestra imagen de entrada
cv2.imshow ('contraste',contraste)                                     #Muesta imagen de salida
k=cv2. waitKey(0)

cv2.destroyAllWindows()

Resultado:


1 comentario:

  1. Esto no aumenta el contraste, más bien es ejemplo del negativo de una imagen.

    ResponderEliminar