[Image-SIG] Reading a 8bit Tif image from ArcMAP doesnt read well

Chris Mitchell chris.mit7 at gmail.com
Thu Oct 28 17:26:35 CEST 2010


Why would the image go between greyscale and rgb?  In anycase, perhaps
the easiest solution is use np.resize on temp instead of the for
loops.  Then if you have tuples of rgb versus ints you can use
np.where()

On Thu, Oct 28, 2010 at 4:36 AM, German Ocampo <gerocampo at gmail.com> wrote:
> Good morning
>
> Im reading an 8bit image generated by ArcMap using PIL in windows, the
> image load well without error messages but, when I try to extract the
> values to a numpy array I got some lines of the image with value of
> pixel 127 (greyscale) or rgb(0,0,0). When I open the image using GIMP
> or arcmap  I could see that the image is complete.
>
> Any idea of what is happening??
>
> the code that I'm using for read the image is:
>
>     from PIL import Image
>     from PIL import TiffImagePlugin
>    import numpy as np
>    import sys
>    im = Image.open(file_tif)
>    values=np.zeros((size_y,size_x))
>    mode=im.mode
>    temp=list(im.getdata())
>    cont=-1
>    list_colors=[]
>    for i in range(0,size_y):
>        for j in range(0,size_x):
>            cont+=1
>            if mode=="RGB":
>                color=temp[cont]
>                print cont,temp[cont]
>                if color in list_colors:
>                    index=list_colors.index(color)
>                    values[i][j]=index+1
>                else:
>                    list_colors.append(color)
>                    values[i][j]=len(list_colors)
>            else:
>                values[i][j]=temp[cont]
>
> Best regards
>
> German
> _______________________________________________
> Image-SIG maillist  -  Image-SIG at python.org
> http://mail.python.org/mailman/listinfo/image-sig
>


More information about the Image-SIG mailing list