Библиотека облаков точек (PCL) — это автономный крупномасштабный открытый проект для обработки 2D/3D-изображений и облаков точек. Он написан на C++.

Я заставил его работать в браузере с помощью Emscripten и WebAssembly.

Гитхаб:

Простой пример

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: 
  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();
Войти в полноэкранный режим

Выйти из полноэкранного режима