1、下载label.exe文件
链接:github地址
2、安装一下anaconda,百度一下直接安装就行
3、打开labelme.exe文件,直接加载图片,然后编辑多边形,就是mask的位置
4、画好mask了,保存为json文件,记住这个文件夹路径
5、将json文件转换为mask图像,命令行运行:python test.py
替换一下里面的路径即可,然后就生成了mask图像了
import json
import numpy as np
import cv2
# read json file
with open("./501.json", "r") as f:
data = f.read()
# convert str to json objs
data = json.loads(data)
# read image to get shape
image = cv2.imread("./501.jpg")
# create a blank image
mask = np.zeros_like(image, dtype=np.uint8)
# loop through all shapes in the JSON data
for shape in data["shapes"]:
# get the points for each shape
points = shape["points"]
points = np.array(points, dtype=np.int32) # tips: points location must be int32
# fill the contour with 255 for each shape
cv2.fillPoly(mask, [points], (255, 255, 255))
# save the mask
cv2.imwrite("./mask.png", mask)