图像融合 pytorch
时间: 2023-12-07 14:40:01 浏览: 67
图像融合是指将两张或多张图像进行合并,生成一张新的图像。在PyTorch中,可以使用torch.stack()和torch.cat()函数来实现图像融合。
使用torch.stack()函数进行图像融合的示例代码如下:
```python
import torch
from PIL import Image
# 读取两张图片
img1 = Image.open('image1.jpg')
img2 = Image.open('image2.jpg')
# 将图片转换为Tensor
img1_tensor = torch.Tensor(list(img1.getdata())).view(img1.size[1], img1.size[0], -1)
img2_tensor = torch.Tensor(list(img2.getdata())).view(img2.size[1], img2.size[0], -1)
# 将两张图片进行融合
data = torch.stack((img1_tensor, img2_tensor), 0)
# 将Tensor转换为图片并保存
result = Image.fromarray(data.numpy().astype('uint8'))
result.save('result.jpg')
```
使用torch.cat()函数进行图像融合的示例代码如下:
```python
import torch
from PIL import Image
# 读取两张图片
img1 = Image.open('image1.jpg')
img2 = Image.open('image2.jpg')
# 将图片转换为Tensor
img1_tensor = torch.Tensor(list(img1.getdata())).view(img1.size[1], img1.size[0], -1)
img2_tensor = torch.Tensor(list(img2.getdata())).view(img2.size[1], img2.size[0], -1)
# 将两张图片进行融合
data = torch.cat((img1_tensor, img2_tensor), 2)
# 将Tensor转换为图片并保存
result = Image.fromarray(data.numpy().astype('uint8'))
result.save('result.jpg')
```