python写一个简单处理图片的程序,把人像背景变白色
时间: 2024-03-16 18:43:23 浏览: 20
好的,以下是一个简单的 Python 程序,可以用来将人像背景变为白色(需要安装 Pillow 库):
```python
from PIL import Image
# 打开图片
img = Image.open('input.jpg')
# 将背景变为白色
background_color = (255, 255, 255)
new_img = Image.new('RGB', img.size, background_color)
new_img.paste(img, (0, 0), img)
# 保存图片
new_img.save('output.jpg')
```
这个程序打开了名为 `input.jpg` 的图片,将其背景色变为白色,并将结果保存到名为 `output.jpg` 的文件中。你可以根据自己的需求修改这个程序。
相关问题
python写一个简单处理图片的程序
好的,以下是一个简单的 Python 程序,可以用来处理图片(需要安装 Pillow 库):
```python
from PIL import Image
# 打开图片
img = Image.open('input.jpg')
# 调整大小
width, height = img.size
new_size = (width // 2, height // 2)
resized_img = img.resize(new_size)
# 转换为灰度图像
gray_img = resized_img.convert('L')
# 保存图片
gray_img.save('output.jpg')
```
这个程序打开了名为 `input.jpg` 的图片,将其大小调整为原来的一半,然后将其转换为灰度图像,并将结果保存到名为 `output.jpg` 的文件中。你可以根据自己的需求修改这个程序。
python写一个传入图片后把人像扣出来的程序
好的,以下是一个基于Python的人像抠图程序:
首先需要安装opencv-python和numpy库:
```
pip install opencv-python
pip install numpy
```
然后可以使用以下代码来进行人像抠图:
```python
import cv2
import numpy as np
def extract_person(image_path):
# 读取图片
img = cv2.imread(image_path)
# 创建掩膜
mask = np.zeros(img.shape[:2], np.uint8)
# 设置背景和前景模型
bgdModel = np.zeros((1,65), np.float64)
fgdModel = np.zeros((1,65), np.float64)
# 定义矩形区域,这里使用整个图像
rect = (0, 0, img.shape[1], img.shape[0])
# 进行GrabCut操作
cv2.grabCut(img, mask, rect, bgdModel, fgdModel, 5, cv2.GC_INIT_WITH_RECT)
# 创建前景掩膜
mask2 = np.where((mask==1) + (mask==3), 255, 0).astype('uint8')
# 将前景掩膜应用于原始图像
img = cv2.bitwise_and(img, img, mask=mask2)
# 返回结果
return img
# 测试代码
img = extract_person('test.jpg')
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这个程序会读取一张图片,然后使用GrabCut算法进行人像抠图,最后返回抠出的人像。你可以将`image_path`参数替换为你自己的图片路径,然后运行这个程序,就可以得到抠出的人像。