ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

【python】Python: numpy.meshgrid的用法(光流法常用记录像素位置的一种方式)

【python】Python: numpy.meshgrid的用法(光流法常用记录像素位置的一种方式)

meshgrid其实是构建网格的一种非常便捷的方式,尤其是在python中,用来画网格,提取对应位置的像素,或者在光流法中用来记录每个像素移动的位置都是经常使用的一个手段,下面给出一个简单的示例。

importmatplotlib.pyplotaspltimportnumpyasnp x=np.arange(-5,5,0.1)y=np.arange(-5,5,0.1)xx,yy=np.meshgrid(x,y,sparse=True)z=np.sin(xx**2+yy**2)/(xx**2+yy**2)h=plt.contourf(x,y,z)plt.show()

生成对应范围的网格, 第一个是按照x轴进行网格分割,第二个结果是按照y轴进行网格分割,可以看到和OpenCV的x轴和y轴方向一致,所以可以用作图像的索引。

x=np.arange(0,5)y=np.arange(-1,2)xx,yy=np.meshgrid(x,y)print(xx)print(yy)
[[0 1 2 3 4] [0 1 2 3 4] [0 1 2 3 4]] [[-1 -1 -1 -1 -1] [ 0 0 0 0 0] [ 1 1 1 1 1]]

之前python有很多的用法都没有记录,现在对于算法常用的一些小trick也会进行记录,篇幅很短,但都是很有用的。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进