import json
import cv2
import matplotlib.pyplot as plt
import numpy as np
tmp = {}
with open("D:/myfiles/all-quexian/N_2000_E_220210710_11441101_20210710_114411.json", "r") as f:
tmp = f.read()
tmp = json.loads(tmp)
points = tmp["shapes"][0]["points"]
points = np.array(points, np.int32)
points1 = tmp["shapes"][1]["points"]
points1 = np.array(points1, np.int32)
points2 = tmp["shapes"][2]["points"]
points2 = np.array(points2, np.int32)
img = cv2.imread("D:/myfiles/all-quexian/N_2000_E_220210710_11441101_20210710_114411.png")
# BGR->RGB
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
box = tmp["shapes"][0]["points"]
box = np.array(box, np.int32)
mask = np.zeros_like(img)
cv2.rectangle(img, (box[0][0], box[0][1]), (box[1][0], box[1][1]), (125, 125, 125), 2)
# cv2.polylines(img, [points], 1, (0,0,255))
cv2.fillPoly(mask, [points], (255, 255, 255))
cv2.fillPoly(mask, [points1], (255, 255, 255))
cv2.fillPoly(mask, [points2], (255, 255, 255))
img_add = cv2.addWeighted(mask, 0.3, img, 0.7, 0)
cv2.imwrite("D:/myfiles/all-quexian/N_2000_E_220210710_11441101_20210710_114411.jpg", np.hstack((img, mask)))
plt.imshow(img_add)
plt.show()
code-显示labelme标注mask
最新推荐文章于 2024-01-17 21:07:47 发布