现在已经有语义分割的掩码图了,帮我写一个语义分割之后的mask图从原图中提取出来的python代码
时间: 2024-04-12 20:31:19 浏览: 115
当已经有语义分割的掩码图并且使用Python时,可以使用以下代码从原图中提取语义分割的掩码区域:
```python
import numpy as np
from PIL import Image
def extract_segmentation_mask(original_image_path, segmentation_mask_path):
# 加载原图和语义分割掩码图
original_image = Image.open(original_image_path)
segmentation_mask = Image.open(segmentation_mask_path)
# 将掩码图转换为二进制格式
binary_mask = np.array(segmentation_mask)
binary_mask = (binary_mask > 0).astype(np.uint8) * 255
# 将二进制掩码与原图进行按位与操作
extracted_image = Image.fromarray(np.bitwise_and(original_image, binary_mask))
# 返回提取后的图像
return extracted_image
```
使用时,可以调用 `extract_segmentation_mask` 函数,传入原图路径和语义分割掩码图路径,返回提取后的图像对象。你可以根据需要将提取后的图像保存到磁盘上或进行其他后续处理。
请确保已经安装了所需的依赖包 `numpy` 和 `Pillow`(可以通过 `pip install numpy pillow` 安装)。
阅读全文