我查看了一些适用于 Vips 的文档,但尚未找到答案。
我想将图像放入一个 numpy 3D 数组中,类似于 PIL 图像如何以这种方式自动处理:
In[1]: import numpy
In[2]: from PIL import Image
In[3]: image = Image.open('43.jpg')
In[4]: image
Out[4]: <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=3216x2136 at 0x7F0C8D8B9950>
In[5]: imgArray2 = numpy.asarray(image, dtype=numpy.float32)
In[6]: imgArray2.shape
Out[6]: (2136, 3216, 3)
.
到目前为止,这就是我为 Vips 所拥有的......
In[1]: import numpy
In[2]: from gi.repository import Vips
In[3]: image = Vips.Image.new_from_file('43.jpg')
In[4]: image
Out[4]: <Image object at 0x7f0c9a66c5f0 (VipsImage at 0x338a190)>
In[5]: imgArray2 = numpy.asarray(image, dtype=numpy.float32)
Out[5]: ValueError: setting an array element with a sequence.
所以我最后得到了那个错误,因为我没有从 Vips Image 对象中以正确的格式提取数据。