Introduction
LiDAR data helps us see the shape and distance of things around us in 3D. Processing it lets computers understand and use this 3D information.
Jump into concepts and practice - no test required
import numpy as np # Load LiDAR point cloud data points = np.loadtxt('lidar_points.txt') # Each row: x, y, z # Basic processing: filtering points by height filtered_points = points[points[:, 2] > 0.5] # Calculate simple statistics mean_height = np.mean(filtered_points[:, 2]) print(f'Mean height of points above 0.5m: {mean_height:.2f}')
points = np.array([[1, 2, 0.3], [2, 3, 1.5], [3, 4, 0.7]]) filtered = points[points[:, 2] > 0.5]
mean_z = np.mean(points[:, 2]) print(f'Mean height: {mean_z}')
max_height = np.max(points[:, 2]) min_height = np.min(points[:, 2])
import numpy as np # Simulated LiDAR points: x, y, z coordinates points = np.array([ [0, 0, 0.2], [1, 1, 1.0], [2, 2, 0.6], [3, 3, 1.5], [4, 4, 0.1] ]) # Filter points above 0.5 meters height filtered_points = points[points[:, 2] > 0.5] # Calculate mean height of filtered points mean_height = np.mean(filtered_points[:, 2]) print(f'Filtered points:\n{filtered_points}') print(f'Mean height of filtered points: {mean_height:.2f}')
points where each point is (x, y, z)?points = [(1,2,3), (4,5,6), (7,8,9)] mean_height = sum(p[2] for p in points) / len(points) print(round(mean_height, 2))
points = [(0,0,0.5), (1,1,1.5), (2,2,0.8)] filtered = [p for p in points if p[3] < 1] print(filtered)