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