如何正确读取jpeg文件二进制文件(不解码)并保存?

时间:2015-06-23 21:05:07

标签: python pandas jpeg python-imaging-library

实际上,我想在没有解码(保存位置)的情况下插入JPEG图像到数据框(pandas),当我在正确加载图像时陷入困境,能够用PIL读回它们。

from PIL import Image
with open(fname, "rb") as f:
data = f.read()
img = Image.frombytes('RGB',d,data)

img = np.asarray(map(ord,img))

我在ord()上面找到了一个解决方案但是有点慢。 有没有更快的方法?

我已经解决了这个问题,谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用mahotas这是一个流行的图书馆来阅读/量化图片。通过终端pip install mahotas安装。

import mahotas as mh
import numpy as np

original_img = np.array(mh.imread('figure1.jpg'), dtype=np.float64) / 255
# check dimension, RGB
original_img.shape
Out[13]: (1536, 2048, 3)

width, height, depth = original_img.shape
# reshape 
image_flattened = np.reshape(original_img, (width*height, depth))

image_flattened.shape
Out[17]: (3145728, 3)