通过多个凸多边形

时间:2016-06-19 08:18:23

标签: python performance numpy

我需要根据N个凸多边形的顶点数组绘制一个二维二进制掩码。

import numpy as np

mask = np.zeros((100, 100), dtype=np.int8)

polys = np.array([[[30,32], [36,46], [41,48], [50, 36]],
                  [[10,32], [16,46], [30,48], [40, 36]],
                  [[56,44], [58,70], [78,90], [75,34]]], np.int32)

多边形之间的交叉区域也应该被屏蔽。我知道如何使用cv2库实现它:

import cv2 

for i in polys.tolist():
    cv2.fillConvexPoly(mask, np.array(i), 1)

imshow(mask, cmap='gray')

Draw multiple convex polygons using opencv

但我无法弄清楚如何使用本机numpy操作(没有for循环)来减少运行该函数的时间。

0 个答案:

没有答案