帮写一个当已经有语义分割的掩码图并且需要从原图中提取出来原图并保存图像时的python代码
时间: 2024-04-12 19:31:23 浏览: 7
当已经有语义分割的掩码图并且需要从原图中提取出来原图并保存图像时,可以使用以下Python代码:
```python
from PIL import Image
def extract_segmentation_mask(original_image_path, segmentation_mask_path, output_path):
# 加载原始图像和语义分割掩码图像
original_image = Image.open(original_image_path)
segmentation_mask = Image.open(segmentation_mask_path)
# 将掩码图像和原始图像尺寸调整为一致
segmentation_mask = segmentation_mask.resize(original_image.size)
# 将掩码图像转换为二进制格式
binary_mask = segmentation_mask.convert('1')
# 将二进制掩码与原始图像进行按位与操作
extracted_image = Image.composite(original_image, Image.new('RGB', original_image.size), binary_mask)
# 保存提取后的图像
extracted_image.save(output_path)
# 调用示例
original_image_path = 'path/to/original/image.jpg'
segmentation_mask_path = 'path/to/segmentation/mask.png'
output_path = 'path/to/save/extracted/image.jpg'
extract_segmentation_mask(original_image_path, segmentation_mask_path, output_path)
```
请确保将 `original_image_path`、`segmentation_mask_path` 和 `output_path` 替换为实际的文件路径。这段代码将会加载原始图像和语义分割掩码图像,并将从原图中提取出来的目标部分保存到指定的输出路径上。
请确保已经安装了所需的依赖包 `Pillow`(可以通过 `pip install pillow` 安装)。