dgl多个二进制(bin)图片合并成一个
时间: 2023-11-24 15:07:27 浏览: 93
要将多个二进制图片合并成一个新的二进制图片,可以使用 Python 中的 `numpy` 库和 `PIL` 库。具体的步骤如下:
1. 使用 `numpy` 库读取每个二进制图片,并将其转换为一个三维的数组,存储在一个列表中。
```python
import numpy as np
# 假设有两个二进制图片,分别为 img1.bin 和 img2.bin。
img1 = np.fromfile('img1.bin', dtype=np.uint8).reshape((height, width, channel))
img2 = np.fromfile('img2.bin', dtype=np.uint8).reshape((height, width, channel))
# 将两个图片存储在一个列表中
img_list = [img1, img2]
```
2. 使用 `numpy` 库将多个图片沿着指定的轴合并成一个新的数组。
```python
merged_img = np.concatenate(img_list, axis=0)
```
3. 将合并后的数组转换为二进制图片,并保存到本地文件中。
```python
from PIL import Image
# 将合并后的数组转换为 PIL.Image 对象
merged_img_pil = Image.fromarray(merged_img)
# 将 PIL.Image 对象保存为二进制图片文件
merged_img_pil.save('merged_img.bin')
```
完整的代码如下:
```python
import numpy as np
from PIL import Image
# 假设有两个二进制图片,分别为 img1.bin 和 img2.bin。
img1 = np.fromfile('img1.bin', dtype=np.uint8).reshape((height, width, channel))
img2 = np.fromfile('img2.bin', dtype=np.uint8).reshape((height, width, channel))
# 将两个图片存储在一个列表中
img_list = [img1, img2]
# 使用 numpy 库将多个图片沿着指定的轴合并成一个新的数组
merged_img = np.concatenate(img_list, axis=0)
# 将合并后的数组转换为 PIL.Image 对象
merged_img_pil = Image.fromarray(merged_img)
# 将 PIL.Image 对象保存为二进制图片文件
merged_img_pil.save('merged_img.bin')
```
注意,在上面的代码中,`height`、`width` 和 `channel` 分别表示每个图片的高度、宽度和通道数,需要根据实际情况进行修改。另外,如果每个二进制图片的像素值不是 `uint8` 类型,需要根据实际情况进行修改。