domingo, 9 de octubre de 2016

Transformación exponencial

Transformación exponencial

Esta función al igual que la logarítmica nos permite manipular el contraste de la imagen. Sin embargo presenta una problema el cual se debe de tener en cuenta al momento de su implementación, el problema que presenta es de desbordamiento de nivel de grises en la imagen resultante debido al exponente f de la función de transformación.

import numpy  as np
import cv2                                                                                        #Se importan las librerías necesarias
import math

img = cv2.imread ('C:\Python27\girasol.jpg',0)                 #Se abre una imagen
row, col=img.shape                                                           #Se conoce el tamaño de la imagen
loga=np.zeros((row,col),dtype=np.uint8)                          #Se crea una matriz
print ' en proceso...'                                                            #Imprime en pantalla: “En proceso,..”

for i in range(0,row):                                                          #Se recorre la matriz
                for j in range (0,col):
                               loga[i,j]= 1*img[i,j]**1.2                   #Se aplica la formula S(x,y)= Cx*
                                                                                            #C puede ser cualquier valor
cv2.imshow ('oscura',img)                                                 #Muestra imagen de entrada
cv2.imshow ('exponente', loga)                                         #Muestra imagen de salida
k=cv2. waitKey(0)
cv2.destroyAllWindows()

Resultados:



No hay comentarios:

Publicar un comentario