pcl 분할 원리 유럽식 거리 분할 및 코드 분석
2951 단어 pcl
유럽식 거 리 를 바탕 으로 하 는 분할 과 지역 성장 을 바탕 으로 하 는 분할 은 본질 적 으로 이웃 관 계 를 구분 하 는 원근 으로 이 루어 진다.점 클 라 우 드 데 이 터 는 더욱 높 은 차원 의 데 이 터 를 제공 하기 때문에 많은 정 보 를 추출 하여 얻 을 수 있다.유클리드 알고리즘 은 이웃 간 거 리 를 판정 기준 으로 하고 지역 성장 알고리즘 은 법 선, 곡률, 색채 등 정 보 를 이용 하여 점 구름 이 한 종류 로 모여 야 하 는 지 여 부 를 판단 한다.
유럽식 거리 분할 이 든 다른 분할 이 든 컴퓨터 에서 실시 간 으로 처리 하 는 것 은 좀 어렵다.
다음은 유럽식 거리 분할 의 구체 적 인 알고리즘 위조 코드 입 니 다.
다음은 코드 의 실현 입 니 다.
/* , , , */
pcl::ApproximateVoxelGrid<:pointxyz> approximate_voxel_filter;
approximate_voxel_filter.setLeafSize (0.02, 0.02, 0.02);
approximate_voxel_filter.setInputCloud (cloud_blob);//
approximate_voxel_filter.filter (*cloud);
/* */
pcl::StatisticalOutlierRemoval<:pointxyz> sor;//
sor.setInputCloud(cloud); //
sor.setMeanK(50); //
sor.setStddevMulThresh(1.0); //
sor.filter(*cloud_filtered);
/* */
pcl::search::KdTree<:pointxyz>::Ptr tree (new pcl::search::KdTree<:pointxyz>);
tree->setInputCloud (cloud_filtered); //
std::vector<:pointindices> cluster_indices; //
pcl::EuclideanClusterExtraction<:pointxyz> ec;//
ec.setClusterTolerance (0.02); // 2cm
ec.setMinClusterSize (100); // 100
ec.setMaxClusterSize (25000); // 25000
ec.setSearchMethod (tree); //
ec.setInputCloud (cloud_filtered);
ec.extract (cluster_indices)
/* */
int j = 0;
for (std::vector<:pointindices>::const_iterator it = cluster_indices.begin (); it != cluster_indices.end (); ++it)
{ // ,
pcl::PointCloud<:pointxyz>::Ptr cloud_cluster (new
pcl::PointCloud<:pointxyz>);
for (std::vector::const_iterator pit = it->indices.begin (); pit != it->indices.end (); ++pit)
//
cloud_cluster->points.push_back (cloud_filtered->points[*pit]); //*
cloud_cluster->width = cloud_cluster->points.size ();
cloud_cluster->height = 1;
cloud_cluster->is_dense = true;
*add_cloud+=*cloud_cluster;
std::cout << "PointCloud representing the Cluster: " << cloud_cluster->points.size () << " data points." << std::endl;
}
분류: PCL
라벨: PCL 유럽식 거리 분할
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【slam PCL 학습】-pcl::PointCloud::Ptr와 Pcl::PointCloud 두 종류의 상호 전환1: Ptr 유형 및 비 Ptr 유형 상호 변환 2: 실제 사용: a) 비 Ptr b) Ptr 동적 스마트 포인터 유형 ptr는 바늘 형식으로 서로 변환할 수 있습니다 2.PointCloud—>PointCloud::...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.