OpenCV中在图像上进行多边形绘制和填充的函数分别为polylines和fillPoly,在图像分割任务中午中,可用于将预测结果绘制到目标图像。
简单的实现:
import cv2
import numpy as np
img = np.zeros([600, 600, 3])
points = np.array([[200, 200], [200, 300], [270, 370], [340, 300], [340, 200], [270, 130]], np.int32)
img = cv2.polylines(img, [points], isClosed=True, color=[0, 0, 255], thickness=5)
img = cv2.fillPoly(img, [points], color=[0, 255, 0])
cv2.imwrite(out_path, img)
结果:
在多边形线段的的绘制中一般需要定义5个参数,分别为原始图像img,多边形节点points,是否闭合,线段颜色和线段宽度。多边形填充只需要定义三个参数,原始图像,节点points,填充颜色。