如何通过segment\predict.py获取每个目标的mask图
时间: 2024-03-02 09:47:56 浏览: 193
react-segment:段整合以做出React
要获取每个目标的mask图,你可以按照以下步骤操作:
1. 使用segment/predict.py对输入图像进行分割,得到语义分割图像。
2. 使用cv2.findContours函数找到语义分割图像中所有的轮廓,得到轮廓列表。
3. 遍历轮廓列表,对每个轮廓生成对应的mask图像。可以使用cv2.drawContours函数将轮廓绘制在全0的空白图像上,得到对应的mask图像。
以下是示例代码:
```python
import cv2
# 加载语义分割图像
seg_img = cv2.imread("semantic_segmentation.png")
# 获取轮廓列表
seg_gray = cv2.cvtColor(seg_img, cv2.COLOR_BGR2GRAY)
contours, hierarchy = cv2.findContours(seg_gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 遍历轮廓列表,生成对应的mask图像
masks = []
for i, contour in enumerate(contours):
mask = np.zeros_like(seg_gray)
cv2.drawContours(mask, [contour], -1, 255, -1)
masks.append(mask)
# masks中存储了所有目标的mask图像
```
阅读全文