请用h5py将120个图片,每个图片宽度600长度600,打包成h5数据
时间: 2023-05-22 14:02:47 浏览: 115
非常感谢您的问题!以下是使用h5py将120张600x600的图片打包成h5数据的Python代码示例:
``` python
import h5py
import numpy as np
from PIL import Image
import os
# 图像数据存储路径
data_folder = "path/to/image/folder"
# 读取所有图像数据并转换为numpy数组
data = []
for i in range(1, 121):
# 图像文件名格式为 img_001.jpg ~ img_120.jpg
img_file = os.path.join(data_folder, f"img_{i:03}.jpg")
img = Image.open(img_file).convert("RGB")
img = np.array(img)
data.append(img)
# 将所有图像数据打包成h5数据
with h5py.File("data.h5", "w") as f:
f.create_dataset("data", data=np.array(data))
```
这段代码首先读取存储在 `data_folder` 中的所有图像数据,并将它们转换为numpy数组。然后使用h5py库创建一个新的h5文件,并将所有图像数据保存在一个名为"data"的数据集中。
相关问题
请用h5py将120个5维数组,每个数组宽度600长度600,打包成会
话的 .h5文件,文件名为data.h5,存储路径为D:/data/,请提供代码实现。
以下是示例代码:
```python
import h5py
import numpy as np
# 生成数据
data = np.random.rand(120, 5, 600, 600)
# 创建文件并写入数据
with h5py.File('D:/data/data.h5', 'w') as f:
f.create_dataset('data', data=data)
```
以上代码使用了h5py库来创建.h5文件,并将数据存储到文件中。首先,我们生成了一个120个5维数组的随机数数据。然后,使用h5py库的`File()`函数创建.h5文件,路径为'D:/data/data.h5'。接着,使用`create_dataset()`函数创建名为'data'的数据集,并将生成的`data`数据存储到该数据集中。最后,使用`with`语句来自动关闭文件。
请把一张图片和2个和图片大小一样的数据打包成h5数据
您可以使用Python的h5py库将一张图片和两个同样大小的数据打包成.h5数据文件。以下是示例代码:
```python
import h5py
import numpy as np
from PIL import Image
# Load the image
image = np.array(Image.open("image.jpg"))
# Generate two random arrays with the same size as the image
array1 = np.random.rand(*image.shape)
array2 = np.random.rand(*image.shape)
# Create the .h5 file and save the arrays and image as datasets
with h5py.File("data.h5", "w") as f:
f.create_dataset("image", data=image)
f.create_dataset("array1", data=array1)
f.create_dataset("array2", data=array2)
```
此代码将生成一个名为“data.h5”的文件,其中包含名称为“image”、“array1”和“array2”的三个数据集。您可以根据需要重命名它们,并使用相应的键访问它们。
请注意,此代码仅适用于大小相同的数据和图像,如果您需要将不同大小的数据打包成.h5文件,请修改代码。
阅读全文