使用opencv(cv2)快速可视化KITTI点云的方法

给定一些点,把它们在numpy矩阵中显示出来。一开始我是遍历所有的点,然后它在img上的什么位置,这个位置的像素就设置为某个颜色。但是这样发现太慢了,超过了一秒。下面说如何使用numpy进行加速:

import numpy as np
import cv2
img=np.zeros((1000,1000,3),dtype=np.uint8)
points=np.random.randint(0,1000,(10000,2))
rows=points[:,1]
cols=points[:,0]
img[rows,cols]=(255,0,255)
cv2.imshow("point cloud",img)
cv2.waitKey(0)

上面的代码利用了numpy的花式索引,可视化1w个点,仅仅用了1ms不到。

可视化效果:

使用opencv(cv2)快速可视化KITTI点云的方法_第1张图片

如果是可视化三维的点云,需要进行一下变换操作。

下面是可视化三维点云的效果,速度也很快,要比遍历快得多,基本上零延迟,还可以实现游走(wasd)。

使用opencv(cv2)快速可视化KITTI点云的方法_第2张图片

 

你可能感兴趣的:(使用opencv(cv2)快速可视化KITTI点云的方法)