【问题标题】:How to use image jpg with numpy.load()如何将图像 jpg 与 numpy.load() 一起使用
【发布时间】:2021-05-25 05:08:01
【问题描述】:

我尝试使用 colab 实现 this code

x = np.load('data_sample.npy',allow_pickle=True)
stacked_x = np.concatenate([x,x,x],1)
stacked_x.shape

但我的示例是 jpg 格式的图像,因此我无法将这些图像转换为 .npy 以使用它。

其实我试过这段代码:

import numpy as np

array = np.asarray('image.JPG')


print(array.tobytes())
print(array)

x = np.load(array,allow_pickle=True)
stacked_x = np.concatenate([x,x,x],1)
stacked_x.shape
print(x)

但我得到了:

当我使用这段代码时:

    x = np.load(array.tobytes(),allow_pickle=True)

我得到了:

那么,有什么建议可以解决这个问题,就是将 .jpg 转换为 .npy?

【问题讨论】:

    标签: numpy google-colaboratory pyhook


    【解决方案1】:

    看看你的代码做了什么:

    In [57]: np.asarray('image.JPG')
    Out[57]: array('image.JPG', dtype='<U9')
    In [58]: np.asarray('image.JPG').tobytes()
    Out[58]: b'i\x00\x00\x00m\x00\x00\x00a\x00\x00\x00g\x00\x00\x00e\x00\x00\x00.\x00\x00\x00J\x00\x00\x00P\x00\x00\x00G\x00\x00\x00'
    

    这只是在玩字符串。它对名为“image.JPG”的文件没有任何作用。您需要使用某种image 处理包首先加载文件,将其从压缩格式转换为3d 数组。

    np.load 用于加载由np.save('file.npy') 创建的文件。将 array 变量作为文件名是没有意义的。它不会加载jpg 文件。

    np.load('file.npy',allow_pickle=True)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-15
      • 2019-04-12
      • 2021-02-26
      • 2017-10-18
      • 2021-02-10
      • 1970-01-01
      相关资源
      最近更新 更多