Skip to content

Instantly share code, notes, and snippets.

@pepgonzalez
Created May 9, 2013 04:32
Show Gist options
  • Save pepgonzalez/5545573 to your computer and use it in GitHub Desktop.
Save pepgonzalez/5545573 to your computer and use it in GitHub Desktop.
from Tkinter import *
from sys import argv
from PIL import Image, ImageTk
from datetime import *
import random as R
def filtroGrisesPromedio(imagen):
x, y = imagen.size
px = imagen.load()
imagenGrises = Image.new('RGB',(x,y))
for i in range(x):
for j in range(y):
pixeles = px[i,j]
prom = sum(pixeles) / 3
imagenGrises.putpixel((i,j),(prom,prom,prom))
return imagenGrises
def bordesPorResta(im):
x,y = im.size
m1 = im.load()
imagen2 = filtroPromedio(im)
m2 = imagen2.load()
imb = Image.new('RGB',(x,y))
for i in range(x):
for j in range(y):
r = m1[i,j][0] - m2[i,j][0]
g = m1[i,j][1] - m2[i,j][1]
b = m1[i,j][2] - m2[i,j][2]
pixel = (r,g,b)
imb.putpixel((i,j),pixel)
return imb
def filtroPromedio(imagen):
x,y = imagen.size
pixeles = imagen.load()
imagenFiltrada = Image.new('RGB',(x,y))
c = 1
for i in range(x):
for j in range(y):
px = pixeles[i,j]
lista = list()
try:
p1 = pixeles[i+1,j]
c += 1
lista.append(p1)
except:
p1 = (0,0,0)
lista.append(p1)
try:
p2 = pixeles[i-1,j]
c += 1
lista.append(p2)
except:
p2 = (0,0,0)
lista.append(p2)
try:
p3 = pixeles[i,j+1]
c += 1
lista.append(p3)
except:
p3 = (0,0,0)
lista.append(p3)
try:
p4 = pixeles[i,j-1]
c += 1
lista.append(p4)
except:
p4 = (0,0,0)
lista.append(p4)
print lista
print "ordenada"
print lista.sort()
#if(c > 4):
# c = 4
#r = p1[0] + p2[0] + p3[0] + p4[0]
#g = p1[0] + p2[0] + p3[0] + p4[0]
#b = p1[0] + p2[0] + p3[0] + p4[0]
#imagenFiltrada.putpixel((i,j),(r/c,g/c,b/c))
#c = 0
return imagenFiltrada
def main():
p = "poli.png"
im = Image.open(p)
im.show()
gris = filtroGrisesPromedio(im)
gris.show()
i_f = filtroPromedio(gris)
#i_f.show()
#bordes = bordesPorResta(gris)
#bordes.show()
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment