如何将jpegtran JPEG保存在与PIL相同的numpy中?

时间:2015-07-25 05:26:47

标签: python arrays numpy python-imaging-library caffe

我已经开始在我的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)才能使用我的其余代码。

0 个答案:

没有答案