--- El lun 26-jul-10, D1e6o! <[email protected]> escribió:
De: D1e6o! <[email protected]> Asunto: Re: [Programación]TypeError: 'int' object is not iterable Para: [email protected] Fecha: lunes, 26 de julio de 2010, 15:47 Hola Horacio. La verdad que nunca se me dio por estudiar python, pero probaría dos cosas: Por un lado, que pasa si haces lo mismo con una imagen final cuadrada? Es decir, de 724x724, Pasa lo mismo... no depende de la geometría y por otro, verificar la profundidad de colores de la imagen resultante y si es igual que de la que parte (por el error de tipo de datos). Es en blanco y negro... Perdon por la brevedad, estoy enviando desde el cel Saludos y suerte con eso El jul 26, 2010 3:31 p.m., "Horacio Castellini" <[email protected]> escribió: Este error aparece para cierto tipo de imagen y para otra no... no tengo la más pu* de que demonios pasa... si aplico esto a la imagen original en blanco y negro... (1024x1024) python grises.py 2Azoomx401.jpg funciona si dar error, en cambio si hago la operación.. convert 2Azoomx401.jpg -resize 724x725 R2Azoomx401.jpg y vuelvo a aplicar esto python grises.py 2Azoomx401.jpg me da el error siguiente: Traceback (most recent call last): File "grises.py", line 22, in <module> r,g,b=im.getpixel((i,j)) TypeError: 'int' object is not iterable ---------------------------------------------- El código es el siguiente: #!/usr/bin/env python import Image import ImageFont import ImageDraw import sys import math Uso="Uso: %s archivo_dato" % sys.argv[0] if len(sys.argv) >2: print Uso sys.exit(1) try: im=Image.open(sys.argv[1]) except: print "Error al abrir imagen" % sys.argv[1] sys.exit(1) x,y=im.size # Busca constante de normalizacion escala de grises Imax=0 Imin=300 for i in range(x): for j in range(y): r,g,b=im.getpixel((i,j)) #<---- acá está el problema.. val=int(0.299*r+0.587*g+0.114*b) if Imax < val: Imax=val if Imin > val: Imin=val # print Imax, Imin # lleva a escala de grises normalizada for i in range(x): for j in range(y): r,g,b=im.getpixel((i,j)) val=int(0.299*r+0.587*g+0.114*b) val=255*(val-Imin)/(Imax-Imin) print "%d" % int(val) -------------- Alguna sugerencia... wellcome... saludos _______________________________________________ Programacion mailing list [email protected] http://lugro.org.ar/mailman/listinfo/programacion -----Adjunto en línea a continuación----- _______________________________________________ Programacion mailing list [email protected] http://lugro.org.ar/mailman/listinfo/programacion
_______________________________________________ Programacion mailing list [email protected] http://lugro.org.ar/mailman/listinfo/programacion
