Dear group I'm trying to use PIL to write an array (a NumPy array to be exact) to an image. Peace of cake, but it comes out looking strange.
I use the below mini code, that I wrote for the purpose. The print of a looks like expected: [[ 200. 200. 200. ..., 0. 0. 0.] [ 200. 200. 200. ..., 0. 0. 0.] [ 200. 200. 200. ..., 0. 0. 0.] ..., [ 0. 0. 0. ..., 200. 200. 200.] [ 0. 0. 0. ..., 200. 200. 200.] [ 0. 0. 0. ..., 200. 200. 200.]] But the image looks nothing like that. Please see the images on: http://hvidberg.net/Martin/temp/quat_col.png http://hvidberg.net/Martin/temp/quat_bw.png or run the code to see them locally. Please – what do I do wrong in the PIL part ??? :-? Martin import numpy as np from PIL import Image from PIL import ImageOps maxcol = 100 maxrow = 100 a = np.zeros((maxcol,maxrow),float) for i in range(maxcol): for j in range(maxrow): if (i<(maxcol/2) and j<(maxrow/2)) or (i>=(maxcol/2) and j>= (maxrow/2)): a[i,j] = 200 else: a[i,j] = 0 print a pilImage = Image.fromarray(a,'RGB') pilImage.save('quat_col.png') pilImage = ImageOps.grayscale(pilImage) pilImage.save('quat_bw.png') -- http://mail.python.org/mailman/listinfo/python-list