Yury V. Zaytsev wrote:
Is it normal when I execute the following code I get the red dot at X =
200, Y = 100 on the plot?!

yes, I think it is.

I would have expected to be able to address
pixels in the resulting array in a usual p[X, Y] format.

IIRC, the standard data storage for PIL iamges results in a (h, w) array, rather than a (w, h) one -- using X,Y, rather than Y,X is just a convention.

In numpy -- the convention is to think of and display the indexing as (row, column), hence (y, x), and MPL displays it that way.

you can just use (y,x) , or you can transpose the array:

>     p = a.T.copy()

Remember to transpose back if you want to make a PIL image again.

-Chris



I might be blind, but I haven't found anything in the documentation.
Actually I have found out about the possibility to interface with Numpy
itself at some blog: http://effbot.org/zone/pil-changes-116.htm .

import Image
import numpy as np
import pylab as pyl

if __name__ == "__main__":

    img_name = 'ch43_roi.tiff'
    img = Image.open(img_name)

    a = np.asarray(img)

    p = a.copy()
    p[100, 200] = (255, 0, 0)

    pyl.imshow(p)
    pyl.show()



--
Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

chris.bar...@noaa.gov
_______________________________________________
Image-SIG maillist  -  Image-SIG@python.org
http://mail.python.org/mailman/listinfo/image-sig

Reply via email to