Transformación logarítmica
A continuación se muestra el código de la transformación
logarítmica donde se utiliza el log10 y posteriormente se muestra el resultado se aprecia claramente como en el resultado se aclara la imagen y se observan mas detalles dando así la forma al objeto que se encuentra en la imagen
import numpy as np
import cv2 #Se
importan las librerías necesarias
import math
img = cv2.imread ('C:\Python27\loga.jpg',0) #Se abre una imagen oscura
row, col=img.shape #Se
conoce el tamaño de la imagen
loga=np.zeros((row,col),dtype=np.uint8) #se crea una matriz
np.amax(img) #se
conoce el máximo de la imagen
b=np.amax(img) #el
maximo se almacena en otra variable
c=255/math.log10(1+b) #se
calcula C= 255/log10(1|R|)
print c #Imprime
c
for i in
range(0,row): #se
recorre la matriz
for j in range (0,col):
loga[i,j]=
c*math.log10(1+img[i,j]) #se
aplica la formula S(x,y)=Clog10(1+r)
cv2.imshow ('oscura',img) #Muestra
la imagen oscura
cv2.imshow
('loga', loga) #Muestra
claridad en la imagen oscursa para apreciar los detalles desconocidos
k=cv2.
waitKey(0)
cv2.destroyAllWindows()
No hay comentarios:
Publicar un comentario