Python 以数组形式打开图像

Python 以数组形式打开图像,python,arrays,image,numpy,python-imaging-library,Python,Arrays,Image,Numpy,Python Imaging Library,我有一个脚本,应该以2D数组的形式打开一个图像,但我似乎无法让它工作。我尝试过使用numpy和PIL库。我在不同的电脑上试过这个。问题在于,它在一台计算机上以2D数组的形式打开图像,但在运行同一版本python的另一台计算机上以对象的形式打开图像 打开图像并将其存储为数组的代码如下所示: img = np.array(Image.open(imagePath)) 在一台计算机上,我得到一个数组,但在另一台计算机上,我得到一个图像对象,如下所示: array(<PIL.TiffImageP

我有一个脚本,应该以2D数组的形式打开一个图像,但我似乎无法让它工作。我尝试过使用numpy和PIL库。我在不同的电脑上试过这个。问题在于,它在一台计算机上以2D数组的形式打开图像,但在运行同一版本python的另一台计算机上以对象的形式打开图像

打开图像并将其存储为数组的代码如下所示:

img = np.array(Image.open(imagePath))
在一台计算机上,我得到一个数组,但在另一台计算机上,我得到一个图像对象,如下所示:

array(<PIL.TiffImagePlugin.TiffImageFile image mode=I;16B size=320x240 at 0x2289FA8>, dtype=object)
数组(,dtype=object)

您是否尝试过matplotlib中的imread函数

from matplotlib.image import imread
image = imread(image_path)

返回一个numpy数组,对我来说效果很好(python 3.4)

您是否尝试过matplotlib中的imread函数

from matplotlib.image import imread
image = imread(image_path)

返回一个numpy数组,对我来说效果很好(python 3.4)

您是否使用Image.asarray()来“推送”数据。我想我有时必须指定dtype='uint8',有时必须不指定就“离开”doing@paddyg如何使用Image.asarray()?它与np.asarray()相同吗??此外,我确实尝试定义数据类型,但不断出现错误:回溯(最近一次调用):文件“”,第1行,在a=np.array(img,dtype='uint16')系统错误:错误返回,无异常设置是否使用Image.asarray()“推送”数据。我想我有时必须指定dtype='uint8',有时必须不指定就“离开”doing@paddyg如何使用Image.asarray()?它与np.asarray()相同吗??此外,我确实尝试定义数据类型,但不断出现错误:回溯(最近一次调用last):文件“”,第1行,在a=np.array(img,dtype='uint16')系统中错误:错误返回,无异常设置我尝试了这个方法,效果很好!!谢谢我仍然不明白为什么我的方法在一台计算机上工作,但在另一台计算机上却不工作。你知道为什么会这样吗?对不起,我对PIL没有任何经验。但是如果我不得不猜测的话,我会责怪不同版本的python和/或库。我试过了,它很管用!!谢谢我仍然不明白为什么我的方法在一台计算机上工作,但在另一台计算机上却不工作。你知道为什么会这样吗?对不起,我对PIL没有任何经验。但如果我不得不猜测的话,我会责怪不同版本的python和/或库。