matplotlib.nxutils.points_inside_poly
在 matplotlib 中,只要您事先定义了顶点,就可以使用 获取多边形内的像素。
你怎么能得到一个补丁内的点,例如一个椭圆?
问题:如果你定义一个 matplotlib 椭圆,它有一个.get_verts()
方法,但这会返回以图形(而不是数据)为单位的顶点。
可以这样做:
# there has to be a better way to do this,
# but this gets xy into the form used by points_inside_poly
xy = np.array([(x,y) for x,y in zip(pts[0].ravel(),pts[1].ravel())])
inds = np.array([E.contains_point((x,y)) for x,y in xy], dtype='bool')
但是,这非常慢,因为它在 python 而不是 C 中循环。