포인트 클라우드 라이브러리(PCL)를 브라우저로 이식했습니다!

4822 단어
포인트 클라우드 라이브러리(PCL)는 2D/3D 이미지 및 포인트 클라우드 처리를 위한 독립 실행형 대규모 개방형 프로젝트입니다. C++로 작성되었습니다.

Emscripten 및 WebAssembly를 사용하여 브라우저에서 실행되도록 했습니다.

Github: https://github.com/luoxuhai/pcl.js

간단한 예

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();

좋은 웹페이지 즐겨찾기