python给透明背景的图像换成绿色背景
时间: 2023-07-08 19:24:46 浏览: 99
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
可以使用Python的OpenCV库来实现给透明背景的图像换成绿色背景的功能。具体步骤如下:
1. 导入OpenCV库和numpy库:
```python
import cv2
import numpy as np
```
2. 读取图片并转换为RGBA格式:
```python
img = cv2.imread('image.png', cv2.IMREAD_UNCHANGED)
rgba = cv2.cvtColor(img, cv2.COLOR_BGR2RGBA)
```
3. 将透明背景的像素点的Alpha通道置为255,不透明:
```python
alpha = rgba[:, :, 3]
mask = alpha == 0
rgba[mask] = [0, 0, 0, 255]
```
4. 将绿色背景的像素点赋值给RGB通道:
```python
green = np.array([0, 255, 0], dtype=np.uint8)
rgb = cv2.cvtColor(green.reshape(1, 1, 3), cv2.COLOR_BGR2RGBA)[0][0]
background = np.full_like(rgba, rgb)
background[mask] = rgba[mask]
```
5. 将结果保存为图片:
```python
cv2.imwrite('result.png', background)
```
这样,透明背景的图像就被换成了绿色背景的图像。
阅读全文