-
Notifications
You must be signed in to change notification settings - Fork 0
/
UmbralMaxProbabilidad.py
34 lines (30 loc) · 989 Bytes
/
UmbralMaxProbabilidad.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import BasicOperations as bo
import estadistica as est
import math
from PIL import Image
from sys import argv
def umbMaxProb():
print "Hola"
#obtiene nombre de imagen como parametro
nombreImagen = argv[1]
#Abre la imagen, obtiene su ancho, alto y sus pixeles
img = Image.open(nombreImagen)
ancho,alto = img.size
pixeles = img.load()
#La transforma a escala de grises
bo.toGrayScale(pixeles, ancho, alto)
#Obtener promedio y varianza
promedio = est.averageUno(pixeles, ancho, alto)
varianza = est.varianza(pixeles, ancho, alto, promedio)
print promedio
print varianza
#Formula Umbral de Maxima Probabilidad
for i in range(ancho):
for j in range(alto):
pixel = pixeles[i,j][0]
newpx = int((1 / ((2 * math.pi * varianza))**0.5)**(-(((promedio - pixel)**2) / (varianza * 2))))
pixeles[i,j] = (newpx, newpx, newpx)
print"error"
new = "UmbralMaxProbabilidad.jpg"
img.save(new)
print "Imagen generada con exito 'UmbralMaxProbabilidad.jpg'"