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 shapepoints = shape["points"]points = np.array(points, dtype=np.int32) # tips: points location must be int32# fill the contour with 255 for each shapecv2.fillPoly(mask, [points], (255, 255, 255))# save the mask
cv2.imwrite("./mask.png", mask)