def test_ModelSphere(self): model_s = pcl.SampleConsensusModelSphere(self.p) ransac = pcl.RandomSampleConsensus(model_s) ransac.set_DistanceThreshold(.01) ransac.computeModel() inliers = ransac.get_Inliers() # print(str(len(inliers))) self.assertNotEqual(len(inliers), 0) final = pcl.PointCloud() if len(inliers) != 0: finalpoints = np.zeros((len(inliers), 3), dtype=np.float32) for i in range(0, len(inliers)): finalpoints[i][0] = self.p[inliers[i]][0] finalpoints[i][1] = self.p[inliers[i]][1] finalpoints[i][2] = self.p[inliers[i]][2] final.from_array(finalpoints) self.assertNotEqual(final.size, 0) pass
# { # pcl::RandomSampleConsensus<pcl::PointXYZ> ransac (model_p); # ransac.setDistanceThreshold (.01); # ransac.computeModel(); # ransac.getInliers(inliers); # } # else if (pcl::console::find_argument (argc, argv, "-sf") >= 0 ) # { # pcl::RandomSampleConsensus<pcl::PointXYZ> ransac (model_s); # ransac.setDistanceThreshold (.01); # ransac.computeModel(); # ransac.getInliers(inliers); # } ### # inliers = vector[int] model_s = pcl.SampleConsensusModelSphere(cloud) model_p = pcl.SampleConsensusModelPlane(cloud) if argc > 1: if argvs == "-f": ransac = pcl.RandomSampleConsensus(model_p) ransac.set_DistanceThreshold(.01) ransac.computeModel() inliers = ransac.get_Inliers() elif argvs == "-sf": ransac = pcl.RandomSampleConsensus(model_s) ransac.set_DistanceThreshold(.01) ransac.computeModel() inliers = ransac.get_Inliers() else: inliers = [] else: