现在已经有语义分割的掩码图了,帮我写一个语义分割之后的mask图从原图中提取出来并保存图像的python代码
时间: 2024-04-12 18:31:20 浏览: 180
水稻稻穗语义分割图像数据集,共3798张
5星 · 资源好评率100%
当已经有语义分割的掩码图并且需要从原图中提取出来并保存图像时,可以使用以下代码:
```python
import numpy as np
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)
# 将掩码图转换为二进制格式
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))
# 保存提取后的图像
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` 替换为实际的文件路径。这段代码将会加载原图和语义分割掩码图,并将提取后的图像保存到指定的输出路径上。
请确保已经安装了所需的依赖包 `numpy` 和 `Pillow`(可以通过 `pip install numpy pillow` 安装)。
阅读全文