微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用Python计算KDE轮廓的面积

如何解决用Python计算KDE轮廓的面积

所以我通过以下方式在python中完成了KDE:

y = coords[:,1]   ## A set of y coordinates of the red points
x = coords[:,0]   ## A set of x coordinates of the red points
k = gaussian_kde(np.vstack([x,y]))
k.set_bandwidth(bw_method=k.factor / 2.)

xi,yi = np.mgrid[x.min():x.max():x.size**0.8*1j,y.min():y.max():y.size**0.8*1j]
zi = k(np.vstack([xi.flatten(),yi.flatten()]))

fig,ax = plt.subplots(1,1,figsize=(16,8))

for coord in coordsold:
  cv2.circle(sample,(coord[1],coord[0]),2,(220,0),1)

ax.contourf(yi,xi,zi.reshape(xi.shape),alpha=0.5)
    
ax.set_axis_off()
ax.imshow(sample)

我要弄清楚的是轮廓占据的区域。我以为也许可以将轮廓线变成多边形对象,然后以这种方式计算面积,但是我不确定。如果有人有一个聪明的解决方案,将不胜感激。

参见附件:

Contours around points

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。