值得学习的地方:
1.选择合法索引的方式
2.数组转图像显示
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
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实现点云投影到平面显示就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/random_repick/article/details/80770292