opencv怎么将两张图像合成一张
时间: 2023-11-13 18:24:01 浏览: 342
opencv中图像叠加/图像融合/按位操作的实现
使用OpenCV将两张图像合成成一张图像可以通过以下步骤实现:
1.加载两张图像,可以使用cv2.imread()函数加载图像。
2.将两张图像的大小调整为相同的大小。可以使用cv2.resize()函数调整图像大小。
3.创建一个与两张图像大小相同的空白图像,可以使用np.zeros()函数创建一个空白图像。
4.将两张图像的像素值加权平均后赋值给空白图像对应像素位置。可以使用cv2.addWeighted()函数将两张图像的像素值加权平均。
5.保存合成后的图像,可以使用cv2.imwrite()函数保存图像。
以下是一个使用OpenCV将两张图像合成成一张图像的示例代码:
``` python
import cv2
import numpy as np
# 加载两张图像
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')
# 将两张图像调整为相同大小
img1 = cv2.resize(img1, (img2.shape[1], img2.shape[0]))
# 创建一个空白图像
result = np.zeros((img1.shape[0], img1.shape[1], 3), np.uint8)
# 将两张图像的像素值加权平均后赋值给空白图像对应像素位置
result = cv2.addWeighted(img1, 0.5, img2, 0.5, 0, result)
# 保存合成后的图像
cv2.imwrite('result.jpg', result)
```
上述代码中,我们将image1.jpg和image2.jpg两张图像合成成一张图像,并将合成后的图像保存为result.jpg。其中,我们使用cv2.addWeighted()函数将两张图像的像素值加权平均,得到合成后的图像。
阅读全文