The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing. It is written via C++.
I made it run in the browser with Emscripten and WebAssembly.
Github:https://github.com/luoxuhai/pcl.js
Simple Example
import PCL from 'pcl.js';
async function main() {
const pcl = await PCL.init({
url: 'https://cdn.jsdelivr.net/npm/pcl.js/dist/pcl-core.wasm',
});
// Write a PCD file
pcl.fs.writeFile('/test.pcd', ArrayBuffer);
// Load PCD file, return point cloud object
const pointCloud = pcl.io.loadPCDFile('/test.pcd');
// Filtering a PointCloud using a PassThrough filter, see: https://pcl.readthedocs.io/projects/tutorials/en/master/passthrough.html#passthrough
const pass = new pcl.filters.PassThrough();
pass.setInputCloud(pointCloud);
pass.setFilterFieldName('z');
pass.setFilterLimits(0.0, 1.0);
pass.filter(pointCloud);
// Save filtered point cloud objects as PCD files
pcl.io.savePCDFileASCII('/test-filtered.pcd', pointCloud);
// Read PCD file content, the content is ArrayBuffer
const pcd = pcl.fs.readFile('/test-filtered.pcd');
// Delete all PCD files
pcl.fs.unlink('/test.pcd')
pcl.fs.unlink('/test-filtered.pcd')
// ...
}
main();
Top comments (0)