πŸ’»
Tutorial
  • INTRO
  • Part 0 (κ°œμš”)
    • README
    • 3D μ˜μƒμ²˜λ¦¬
    • [별첨] PCL & PCDλž€ (100%)
    • chapter02 : PCL μ„€μΉ˜ (100%)
    • chapter03 : ROS μ‹€μŠ΅ μ€€λΉ„(100%)
  • Part 1 (μ΄ˆκΈ‰)
    • README
    • PCL 기반 λ‘œλ΄‡ λΉ„μ Ό
    • [별첨] 파일 생성 및 μž…μΆœλ ₯ (70%)
      • PCL-Cpp (70%)
      • PCL-Python (70%)
      • Open3D-Python (70%)
      • ROS μ‹€μŠ΅ (90%)
    • Filter
    • [별첨] μƒ˜ν”Œλ§ (70%)
      • λ‹€μš΄μƒ˜ν”Œλ§-PCL-Cpp (70%)
      • λ‹€μš΄μƒ˜ν”Œλ§-PCL-Python (50%)
      • μ—…μƒ˜ν”Œλ§-PCL-Cpp (70%)
      • ROS μ‹€μŠ΅ (90%)
    • [별첨] 관심 μ˜μ—­ μ„€μ • (70%)
      • PCL-Cpp (70%)
      • PCL-Python (70%)
      • ROS μ‹€μŠ΅ (90%)
    • [별첨] λ…Έμ΄μ¦ˆ 제거 (70%)
      • PCL-Cpp (70%)
      • PCL-Python (50%)
      • ROS μ‹€μŠ΅ (90%)
  • Part 2 (쀑급)
    • README
    • Kd-Tree/Octree Search
    • Chapter03 : Sample Consensus
    • [별첨] λ°”λ‹₯제거 (RANSAC) (70%)
      • PCL-Cpp (70%)
      • PCL-Python (70%)
      • ROS μ‹€μŠ΅ (90%)
    • κ΅°μ§‘ν™” (70%)
      • Euclidean-PCL-Cpp (70%)
      • Euclidean-PCL-Python (0%)
      • Conditional-Euclidean-PCL-Cpp (50%)
      • DBSCAN-PCL-Python (0%)
      • Region-Growing-PCL-Cpp (50%)
      • Region-Growing-RGB-PCL-Cpp (50%)
      • Min-Cut-PCL-Cpp (50%)
      • Model-Outlier-Removal-PCL-Cpp (50%)
      • Progressive-Morphological-Filter-PCL-Cpp (50%)
    • 포인트 탐색과 배경제거 (60%)
      • Search-Octree-PCL-Cpp (70%)
      • Search-Octree-PCL-Python (70%)
      • Search-Kdtree-PCL-Cpp (70%)
      • Search-Kdtree-PCL-Python (70%)
      • Compression-PCL-Cpp (70%)
      • DetectChanges-PCL-Cpp (50%)
      • DetectChanges-PCL-Python (50%)
    • νŠΉμ§• μ°ΎκΈ° (50%)
      • PFH-PCL-Cpp
      • FPFH-PCL-Cpp
      • Normal-PCL-Cpp (70%)
      • Normal-PCL-Python (80%)
      • Tmp
    • λΆ„λ₯˜/인식 (30%)
      • 인식-GeometricConsistencyGrouping
      • SVM-RGBD-PCL-Python (70%)
      • SVM-LIDAR-PCL-Python (0%)
      • SVM-ROS (0%)
    • μ •ν•© (70%)
      • ICP-PCL-Cpp (70%)
      • ICP-ROS μ‹€μŠ΅ (10%)
    • μž¬κ΅¬μ„± (30%)
      • Smoothig-PCL-Cpp (70%)
      • Smoothig-PCL-Python (70%)
      • Triangulation-PCL-Cpp (70%)
  • Part 3 (κ³ κΈ‰)
    • README
    • λ”₯λŸ¬λ‹ 기반 ν•™μŠ΅ 데이터 생성 (0%)
      • PointGAN (90%)
      • AutoEncoder (0%)
    • λ”₯λŸ¬λ‹ 기반 μƒ˜ν”Œλ§ 기법 (0%)
      • DenseLidarNet (50%)
      • Point Cloud Upsampling Network
      • Pseudo-LiDAR
    • λ”₯λŸ¬λ‹ 기반 μžμœ¨μ£Όν–‰ 탐지 기술 (0%)
    • λ”₯λŸ¬λ‹ 기반 μžμœ¨μ£Όν–‰ λΆ„λ₯˜ 기술 (0%)
      • Multi3D
      • PointNet
      • VoxelNet (50%)
      • YOLO3D
      • SqueezeSeg
      • butNet
  • Snippets
    • PCL-Snippets
    • PCL-Python-Helper (10%)
    • Lidar Data Augmentation
  • Appendix
    • μ‹œκ°ν™”Code
    • μ‹œκ°ν™”νˆ΄
    • Annotation툴
    • Point Cloud Libraries (0%)
    • 데이터셋
    • Cling_PCL
    • μ°Έκ³  자료
    • μž‘μ„± κ³„νš_Tips
    • μš©μ–΄μ§‘
Powered by GitBook
On this page

Was this helpful?

  1. Part 2 (쀑급)
  2. μž¬κ΅¬μ„± (30%)

Smoothig-PCL-Cpp (70%)

Previousμž¬κ΅¬μ„± (30%)NextSmoothig-PCL-Python (70%)

Last updated 5 years ago

Was this helpful?

μ½”λ“œλŠ” μ—μ„œ λ‹€μš΄λ‘œλ“œ κ°€λŠ₯ν•©λ‹ˆλ‹€. μƒ˜ν”ŒνŒŒμΌμ€ 을 μ‚¬μš©ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/kdtree/kdtree_flann.h>
#include <pcl/surface/mls.h>

int
main (int argc, char** argv)
{
  pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ> ());
  pcl::io::loadPCDFile ("bunny.pcd", *cloud);

  pcl::search::KdTree<pcl::PointXYZ>::Ptr tree (new pcl::search::KdTree<pcl::PointXYZ>);

  // Output has the PointNormal type in order to store the normals calculated by MLS
  pcl::PointCloud<pcl::PointNormal>::Ptr smoothedCloud(new pcl::PointCloud<pcl::PointNormal>);

  // Init object (second point type is for the normals, even if unused)
  pcl::MovingLeastSquares<pcl::PointXYZ, pcl::PointNormal> mls; 
  mls.setComputeNormals (true); //optional
  mls.setInputCloud (cloud);
  mls.setPolynomialOrder (2);
  mls.setSearchMethod (tree);
  mls.setSearchRadius (0.03); // Use all neighbors in a radius of 3cm.
    //filter.setPolynomialFit(true); //If true, the surface and normal are approximated using a polynomial estimation
                                   // (if false, only a tangent one).
  // Reconstruct
  mls.process (*smoothedCloud);

  // Save output
  pcl::io::savePCDFile ("bunny-mls.pcd",*smoothedCloud);
}
[이곳]
[bunny.pcd]