Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从python的image模块访问图像坐标,或者作为numpy数组访问并存储图像坐标,两者之间有什么区别?_Python_Image - Fatal编程技术网

从python的image模块访问图像坐标,或者作为numpy数组访问并存储图像坐标,两者之间有什么区别?

从python的image模块访问图像坐标,或者作为numpy数组访问并存储图像坐标,两者之间有什么区别?,python,image,Python,Image,我使用图像模块在python中读取了一个图像,并将其转换为numpy数组,如下所示 im=Image.open(infile) imdata = scipy.misc.fromimage(im) im.getPixel(x,y) 第一个问题是x是否属于行号,y是否属于列号。它的视觉顺序与我们在屏幕上看到的相同,还是与保存到磁盘或其他东西的顺序相同 当它作为numpy数组使用时,如何访问像素值。它提供与im.getPixel()相同的像素还是不同的像

我使用图像模块在python中读取了一个图像,并将其转换为numpy数组,如下所示

       im=Image.open(infile)

       imdata = scipy.misc.fromimage(im)

       im.getPixel(x,y)
第一个问题是x是否属于行号,y是否属于列号。它的视觉顺序与我们在屏幕上看到的相同,还是与保存到磁盘或其他东西的顺序相同

当它作为numpy数组使用时,如何访问像素值。它提供与im.getPixel()相同的像素还是不同的像素位置

第三个问题是,在将此图像保存到磁盘(如PNG)时。。。访问和写入文件的顺序应该是什么

非常感谢

谢谢

来自图像

返回的numpy数组是维度
[宽度、高度、nr_通道]
的状态,其中
nr_通道
是不同的色带/通道,存储在第三维中,使得灰色图像是MxN、RGB图像MxNx3和RGBA图像MxNx4

因此,要从数组中获取“像素”x,y(实际上是行x,高度y),您需要执行以下操作

pix = a[x,y,:] 
和例如

r,g,b = pix[:3]
im.getPixel
从同一位置(x,y)获取像素,但将其作为元组,例如,如果图像具有rgb波段,则为
(r,g,b)

这个方法比较慢,;如果需要从Python处理图像的较大部分,可以使用像素访问对象(通过
im.load()
重试),也可以使用
im.getdata()
方法。

您是否可以指定访问和写入的顺序?只需将数据设置为图像对象,然后执行
im.save()
就是您想要知道的吗?