【发布时间】:2018-09-24 17:30:35
【问题描述】:
尝试使用cv2.fillPoly 栅格化简单多边形我得到奇怪的结果 - 没有零像素的总和是 10201,但它应该是 100*100。
pts = np.array([[0, 0], [100, 0], [100, 100], [0, 100], [0, 0]])
img = np.zeros((256, 256))
vertices = np.array([pts], dtype=np.int32)
mask = cv2.fillPoly(img, vertices, color=255)
print('np.count_nonzero(mask)', np.count_nonzero(mask))
怎么了?
【问题讨论】:
-
关闭一个错误 - 它应该是
101 * 101(它是),因为你在第 100 列和第 100 行有一个边缘。想象一下小规模 ([[0, 0], [1, 0], [1, 1], [0, 1], [0, 0]]) 那是 4线条,覆盖 4 个像素(并且没有要填充的内容)。 -
@DanMašek 哦,是的。
-
我做了一些像素艺术来为其他人说明,但我完全理解你是否也删除了这个问题;)(它发生了)