Python OpenCV怎么给你图片加上黑色透明mask
时间: 2024-10-16 15:03:02 浏览: 50
在Python中,使用OpenCV添加黑色透明mask(也称作alpha blending)到图片上,可以按照以下步骤操作:
1. **导入必要的库**:首先,确保已经安装了OpenCV和numpy库,可以用下面的方式导入:
```python
import cv2
import numpy as np
```
2. **创建原图和mask**:加载一张图片作为原图,例如:
```python
img = cv2.imread('original_image.jpg')
```
同时创建一个全黑的透明mask,其形状和尺寸应与原图一致,但是有一个Alpha通道(透明度通道),可以设置为0代表完全透明,1代表完全不透明:
```python
mask = np.zeros(img.shape[:2] + (4,), dtype=np.uint8)
mask[:, :, -1] = 255 # 设置Alpha通道为白色(全透明)
```
3. **合并原图和mask**:使用OpenCV的`addWeighted()`函数,通过设置透明度权重将mask与原图叠加:
```python
result = cv2.addWeighted(img, 1.0, mask, 0.5, 0) # 第二个参数0.5表示透明度
```
`addWeighted()`的第一个参数是原图,第二个参数是权重1.0表示保留原图信息,第三个参数是mask的权重0.5表示mask信息占主导,最后一个参数是偏置值,这里设为0保持默认效果。
4. **保存结果**:
```python
cv2.imwrite('result_with_mask.jpg', result)
```
阅读全文