微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 numpy.load() 中使用图像 jpg

如何解决如何在 numpy.load() 中使用图像 jpg

我尝试使用 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,1)
stacked_x.shape
print(x)

但我得到了:

enter image description here

当我使用此代码时:

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

我得到了:

enter image description here

那么,有什么建议可以解决这个问题,准确地将 .jpg 转换为 .npy 吗?

解决方法

看看你的代码做了什么:

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)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。