python opencv叠加图片
时间: 2024-12-25 09:15:46 浏览: 10
在Python中使用OpenCV(Open Source Computer Vision Library)叠加图片通常涉及到图像操作和显示。你可以通过以下步骤将两张或多张图片合并在一起:
1. **导入所需库**:
```python
import cv2
```
2. **读取图片**:
```python
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg') # 可能需要更多的图片路径
```
3. **创建一个透明度掩码**(如果需要调整图片的透明度):
```python
alpha = 0.5 # 透明度值,范围通常是0-1
mask = np.zeros(img1.shape[:2], dtype=np.uint8)
mask[:] = (255,)*3 # 使用白色作为默认掩码背景
```
4. **图像叠加**:
- 如果简单地想要将图片粘贴在一起,可以使用`cv2.addWeighted()`函数,它会按权重融合图片:
```python
combined_img = cv2.addWeighted(img1, alpha, img2, 1 - alpha, 0) # 直接叠加,不需要mask
```
- 如果需要按照特定区域覆盖,可以使用`cv2.bitwise_and()`结合掩码:
```python
combined_img = cv2.bitwise_and(img1, img1, mask=mask)
combined_img = cv2.bitwise_or(combined_img, img2)
```
5. **显示结果**:
```python
cv2.imshow('Combined Image', combined_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文