如何解决如何在 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)
当我使用此代码时:
x = np.load(array.tobytes(),allow_pickle=True)
那么,有什么建议可以解决这个问题,准确地将 .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 举报,一经查实,本站将立刻删除。