我已经开始在我的Python程序中使用一个新库来处理因速度而导致的图像。我正在使用PIL,但现在我正在使用jpegtran。我之前的代码我将图像保存为numpy数组并且工作得很好,但是现在由于数据类型不同,我在创建相同的numpy数组时遇到了问题。
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 0x7F34CC1876C8>
In[5]: imgArray2 = numpy.asarray(image, dtype=numpy.float32)
In[6]: imgArray2.shape
Out[6]: (2136, 3216, 3)
jpegtran代码:
In[1]: import numpy
In[2]: from jpegtran import JPEGImage
In[3]: imgTran = JPEGImage('43.jpg')
In[4]: imgTran
Out[4]: <jpegtran.transform.JPEGImage at 0x7f34d58a9910>
In[5]: imgArray = numpy.asarray(imgTran.data, dtype=numpy.float32)
In[6]: imgArray.shape
Out[6]: (777062,)
我需要原始形状(2136,3216,3)才能使用我的其余代码。