Duda de PIL (Python Imaging Library)

Amaya amaya en debian.org
Jue Jun 6 17:05:15 CEST 2002


Tengo un gif con una escala de colores, cada color corresponde a una
temperatura en grados centígrados, y pretendo recorrer el eje 'x' a la
altura de cierta coordenada 'y' fija, para saber el valor RGB del color
en los puntos, que cambian cada 20 píxeles. Yo creo que no me he
explicado nada bien...  He ahí un dibujín ascii:

 ______________________
| 9º | 10º | 11º | 12º | 
 ----------------------

Cada cuadradito es de un color, que es lo que quiero averiguar.
El código es este:

import PIL.Image
inm_gif='Fondo-mar-2002-06-06-11:42.gif'
im=PIL.Image.open(inm_gif)
im2=im.convert('RGB')
xx,yy=im2.size
grados=range(9,31) # Grados va de 9 a 30
coordenada_y='530'
# Recorremos hasta la 420, la última la hacemos a mano, xq pilla muy mal el mapa.
for grados in range(9,30):
	for coordenada_x in range(20,441,20):
		#if color==(255, 255, 255)
		print coordenada_x,coordenada_y
		color=im2.getpixel([xx,530])
		#print 'R%3d G%3d B%3d' % im2.getpixel([coordenada_x,coordenada_y]),
		print '%s grados' % grados
		#grados=(grados + 1)
print '459 %s' % coordenada_y,
print 'R%3d G%3d B%3d' % im2.getpixel([460,530]),
print '30 grados'

Traceback (most recent call last):
  File "<stdin>", line 6, in ?
  File "/usr/lib/python2.1/site-packages/PIL/Image.py", line 565, in getpixel
    return self.im.getpixel(xy)
IndexError: image index out of range




-- 
     Amaya Rodrigo Sastre        Dpto. Sistemas
      www.meteologica.es      Meteorología Avanzada
     


Más información sobre la lista de distribución Python-es