PCL-Python (70%)
C++ ์ฝ๋๋ [์ด๊ณณ]์์ ๋ค์ด๋ก๋ ๊ฐ๋ฅํฉ๋๋ค. ์ํํ์ผ์ [tabletop_passthrough.pcd]์ ์ฌ์ฉํ์์ต๋๋ค. Jupyter ๋ฒ์ ผ์ [์ด๊ณณ]์์ ํ์ธ ๊ฐ๋ฅ ํฉ๋๋ค. ์๋ณธ ์ฝ๋๋ [์ด๊ณณ]์ ์ฐธ๊ณ ํ์์ต๋๋ค.
!python --version
!pip freeze | grep pclimport pcl
import numpy as np
import randomcloud = pcl.load("tabletop_passthrough.pcd")
print(cloud)do_ransac_plane_segmentation
def do_ransac_plane_segmentation(pcl_data,pcl_sac_model_plane,pcl_sac_ransac,max_distance):
'''
Create the segmentation object
:param pcl_data: point could data subscriber
:param pcl_sac_model_plane: use to determine plane models
:param pcl_sac_ransac: RANdom SAmple Consensus
:param max_distance: Max distance for apoint to be considered fitting the model
:return: segmentation object
'''
seg = pcl_data.make_segmenter()
seg.set_model_type(pcl_sac_model_plane)
seg.set_method_type(pcl_sac_ransac)
seg.set_distance_threshold(max_distance)
return seg
def extract_inlier_outlier(pcl_data,ransac_segmentation):
'''
:param pcl_data:
:param ransac_segmentation:
:return: cloud table and cloud object
'''
inliers, coefficients = ransac_segmentation.segment()
inlier_object = pcl_data.extract(inliers, negative=False)
outlier_object = pcl_data.extract(inliers, negative=True)
return inlier_object,outlier_objectdo_ransac_plane_normal_segmentation
Indices to Point cloud
SACMODEL
Last updated
Was this helpful?