Imagen Poco contrastada
Histograma:
El histograma es de gran utilidad en el tratamiento de imágenes ya que con él se puede variar el aspecto de las imágenes.
La probabilidad P(g) de ocurrencia de un determinado nivel g se define como:
donde M es el número de píxeles en la imagen y N(g) es el número de píxeles en el nivel de intensidad g.
import numpy as np from matplotlib import pyplot as plt import cv2 function hist = Histograma(imagen) im = cv2.imread('C:\Python2\piramid.jpg', 0) imD = double(im); [f, c] = size(imD); for i=1:256h(i) = 0; end for i=1:f for j=1:c k = imD(i, j); h(k + 1) = h(k + 1) + 1; end end plot(h); hist = h; cv2.imshow('original', im) print hist k = cv2.waitKey(0) cv2.destroyAllWindows()
Brillo:
Se define el brillo de la imagen como el valor medio de la imagen que
coincide con el valor medio del histograma.
Varianza:
Mide la dispersión de los alrededores de la media; está definida por:
Una varianza alta corresponde a una imagen con contraste alto, y viceversa.
Asimetría:
Mide la propiedad de su mismo nombre. Tiene como referencia la media en la distribución de los niveles de gris, está definida por:
Un valor absoluto alto de a indica una gran asimetría y un valor bajo, una asimetría pequeña.
Energía:
Nos informa sobre la distribución de los niveles de gris:
La energía tiene valor máximo 1 para una imagen con un único nivel de gris y disminuye a medida que aumenta el número de niveles de gris.
Entropía:
También nos informa sobre la distribución de los niveles de gris:
Cuanto mayor es el número de niveles de gris en la imagen, mayor es la entropía. Esta medida tiende a variar inversamente con la energía.
Ecualización del Histograma:
En cualquier función de densidad probabilística que es transformada a uniforme
se maximiza la explotación de la información. Este fenómeno que rige a los procesos
continuos también se puede aplicar sobre información discreta.
import numpy as np from matplotlib import pyplot as plt import cv2 img = cv2.imread ('C:\Python2\piramide.jpg',0) equ = cv2.equalizeHist(img) res = np.hstack((img,equ)) cv2.imwrite('res.png',res) print ('en proceso...') cv2.imshow('Piramid', img)cv2.imshow('resultado', res) print ('Valores:') plt.hist(equ.ravel(),256,[0,256]) plt.title('Histogram equalice for gray scale Piramid') plt.show() hist = cv2.calcHist([equ],[0],None,[256],[0,256]) while True: k = cv2.waitKey(0) & 0xFF if k == 17: break cv2.destroyAllWindows() print ('fin')
No hay comentarios:
Publicar un comentario