如何正确读取jpeg文件二进制文件(无需解码)并保存它



事实上,当我在正确加载图像以使用PIL读回图像的阶段遇到困难时,我想在不解码的情况下将JPEG图像插入数据帧(panda)中(以节省位置)。

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()找到了一个解决方案,但速度有点慢。有什么更快的方法吗?

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

您可以使用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)

相关内容

  • 没有找到相关文章