python

超轻量级php框架startmvc

Python实现点云投影到平面显示

更新时间:2020-08-21 15:18:02 作者:startmvc
值得学习的地方:1.选择合法索引的方式2.数组转图像显示importnumpyasnpfromPILimportImage#input:shap

值得学习的地方:

1.选择合法索引的方式

2.数组转图像显示


import numpy as np
from PIL import Image

#input : shape(N, 4)
# (x, y, z, intensity)
def pointcloud2image(point_cloud):
 x_size = 640
 y_size = 640
 x_range = 60.0
 y_range = 60.0
 grid_size = np.array([2 * x_range / x_size, 2 * y_range / y_size])
 image_size = np.array([x_size, y_size])
 # [0, 2*range)
 shifted_coord = point_cloud[:, :2] + np.array([x_range, y_range])
 # image index
 index = np.floor(shifted_coord / grid_size).astype(np.int)
 # choose illegal index
 bound_x = np.logical_and(index[:, 0] >= 0, index[:, 0] < image_size[0])
 bound_y = np.logical_and(index[:, 1] >= 0, index[:, 1] < image_size[1])
 bound_box = np.logical_and(bound_x, bound_y)
 index = index[bound_box]
 # show image
 image = np.zeros((640, 640), dtype=np.uint8)
 image[index[:, 0], index[:, 1]] = 255
 res = Image.fromarray(image)
 # rgb = Image.merge('RGB', (res, res, res))
 res.show()

以上这篇Python实现点云投影到平面显示就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

Python 点云投影 平面