bool ex_segmentor::icp_registration (PointCloudPtr input_scene, PointCloudPtr result_transform, float // icp對象 icp. setInputSource (input_obj); //設置輸入源點云 icp. setInputTarget (input_scene); //設置輸入目標點云 // Set the max correspondence distance to 5 cm (e.g., correspondences with higher distances will be ignored) icp. setMaxCorrespondenceDistance (max_distance); //設置最大匹配距離 0.05 // Set the maximum number of iterations (criterion 1 ) icp. setMaximumIterations (max_iteration) ; //設置最" />

91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PCL匹配器濾除點云方法

麥辣雞腿堡 ? 來源:古月居 ? 作者:lovely_yoshino ? 2023-11-28 11:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

匹配器

2.1 ICP點云精配準

template < typename PointCloudPtr >    bool ex_segmentor::icp_registration(PointCloudPtr &input_obj, PointCloudPtr &input_scene, PointCloudPtr &output_obj, Eigen::Matrix4f &result_transform, float &result_error, uint max_iteration, float max_distance, float ransac_th) // icp匹配   
 {        pcl::IterativeClosestPoint< PointXYZRGB, PointXYZRGB > icp; // icp對象       
 icp.setInputSource(input_obj);                            //設置輸入源點云       
 icp.setInputTarget(input_scene);                          //設置輸入目標點云        // 
Set the max correspondence distance to 5cm (e.g., correspondences with higher distances will be ignored)        icp.setMaxCorrespondenceDistance(max_distance); //設置最大匹配距離 0.05        // 
Set the maximum number of iterations (criterion 1)        icp.setMaximumIterations(max_iteration); //設置最大迭代次數 50        // Set the transformation epsilon (criterion 2)        // 
icp.setTransformationEpsilon (1e-5);  //1e-8        // 
Set the euclidean distance difference epsilon (criterion 3)        //
 icp.setEuclideanFitnessEpsilon (0.000001);  //1       
 icp.setRANSACOutlierRejectionThreshold(ransac_th); //設置RANSAC閾值       
 icp.align(*output_obj);                            // icp匹配        if (icp.hasConverged())                            //如果icp匹配成功     
   {            result_transform = icp.getFinalTransformation(); //獲取最終變換矩陣            
result_error = icp.getFitnessScore();            //獲取最終匹配誤差            
return true;        } 
       else      
  {            result_transform = Eigen::Matrix4f::Identity(4, 4);            result_error = 1.0;            return false;        }    }/**    icp_registration(object_aligned, cluster, Final, icp_result_transform, icp_error);**/

2.2 FPFH點云粗配準

void FPFH_generation(pcl::PointCloud&lt;PointXYZRGB&gt;::Ptr &input, FPFHCloud::Ptr &output) // FPFH特征提取    {        // 首先,生成法線       
 pcl::NormalEstimationOMP&lt;PointNormal, PointNormal&gt; nest;                  // OMP線程數       
 pcl::PointCloud&lt;PointNormal&gt;::Ptr temp(new pcl::PointCloud&lt;PointNormal&gt;); //構建暫時點云       
 pcl::copyPointCloud(*input, *temp);                                       //拷貝點云        
nest.setRadiusSearch(0.01);                                               //設置半徑搜索范圍       
 nest.setInputCloud(temp);                                                 //設置輸入點云       
 nest.compute(*temp);                                                      //計算暫時點云        // 然后生成FPFH點云       pcl::FPFHEstimationOMP&lt;PointNormal, PointNormal, FPFH&gt; fest; // OMP線程數       
 fest.setRadiusSearch(0.01);                                  // 0.025        
fest.setInputCloud(temp);       
 fest.setInputNormals(temp);        fest.compute(*output);    }    
template &lt;typename PointType, typename PointCloudPtr&gt;    bool 
FPFH_matching(PointCloudPtr &object, FPFHCloud::Ptr &object_feature, PointCloudPtr &scene, FPFHCloud::Ptr &scene_feature, PointCloudPtr &result_cloud, Eigen::Matrix4f &result_transformation) // FPFH粗配準方法   
 {        pcl::SampleConsensusPrerejective&lt;PointType, PointType, FPFH&gt; align; //采樣一致性預排除算法        
align.setInputSource(object);                                       //設置輸入源點云        
align.setSourceFeatures(object_feature);                            //設置輸入源特征點云       
 align.setInputTarget(scene);                                        //設置輸入目標點云       
 align.setTargetFeatures(scene_feature);                             //設置輸入目標特征點云       
 align.setMaximumIterations(5000);                                   // 設置最大迭代次數       
 align.setNumberOfSamples(7);                                        // 設置采樣點數       
 align.setCorrespondenceRandomness(10);                              // 設置隨機匹配點數       
 align.setSimilarityThreshold(0.5f);                                 // 設置相似度閾值       
 align.setMaxCorrespondenceDistance(0.01f);                          // 設置最大匹配距離       
 align.setInlierFraction(0.05f);                                     // 設置內點比例        align.align(*result_cloud);        if (align.hasConverged())      
  {            result_transformation = align.getFinalTransformation(); //獲取最終變換矩陣            // pcl::console::print_info("Inliers: %i/%i , %in", align.getInliers().size(), scene-&gt;size(), object-&gt;size());            // return (float(align.getInliers().size()) / float(object-&gt;size()));            return true;        }        // return 0.0f;        return false;    }/**   
 FPFHCloud::Ptr cluster_feature(new FPFHCloud);    FPFH_generation(cluster, cluster_feature);   
 ROS_INFO("cluster_size : %d, feature size : %d", cluster-&gt;size(), cluster_feature-&gt;size());   
 bool FPFH_match_success = FPFH_matching&lt;PointXYZRGB&gt;(object_, object_feature_, cluster, cluster_feature, object_aligned, align_result_transform);**/

2.3 PCA點云粗配準

void ex_segmentor::PCA_registration(pcl::PointCloud< PointXYZRGB >::Ptr
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 匹配器
    +關注

    關注

    0

    文章

    6

    瀏覽量

    5812
  • PCL
    PCL
    +關注

    關注

    1

    文章

    37

    瀏覽量

    13952
  • 點云
    +關注

    關注

    0

    文章

    58

    瀏覽量

    3961
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    PCL庫介紹及項目配置方式

    關于PCL庫,大家百度的時候可以找到很多相關的介紹,反正一堆專業性概念,相關的技術層面以及一些強大的應用敘述云云,不過關于這些小編實在不感冒,能先把這個工具好好用起來再說吧。關于PCL
    發表于 07-02 07:44

    一種用于模式匹配的改進型譜方法

    利用譜方法進行模式匹配的主要問題是對的位置噪聲比較敏感。為了提高譜方法對噪聲的魯棒性,該文在表示矩陣的構建過程中采用高斯加權的近鄰矩陣對
    發表于 03-31 09:44 ?11次下載

    改進的特征匹配算法

    特征匹配是計算機視覺中的關鍵步驟,在很多領域中都有著的重要應用。通過對當前圖像特征匹配方法的研究,提取一種基于特征的灰度量和幾何特征量
    發表于 05-19 17:20 ?0次下載
    改進的特征<b class='flag-5'>點</b><b class='flag-5'>匹配</b>算法

    基于CCA的SIFT誤匹配剔除方法

    針對尺度不變特征變換( SIFT)描述子僅利用特征的局部鄰域灰度信息而對圖像內具有相似灰度分布的特征易產生誤匹配的問題,提出一種基于典型相關分析( CCA)的sivr誤匹配剔除
    發表于 12-29 14:44 ?0次下載

    配器涂技術的特點及方法介紹

    配器涂技術是指將貼片膠一滴一滴地點涂在PCB貼裝SMD的部位上。根據施壓方式不同,常用的分配器涂技術有三種方法
    的頭像 發表于 10-21 11:40 ?5080次閱讀

    無序抓取の3D匹配案例分享

    這是一個實際拍攝的云圖,經過了坐標系糾正變換,更方便查看點位置。里面有一塊平面就是我們需要匹配的目標點
    的頭像 發表于 09-24 11:39 ?3968次閱讀

    匹配與ICP算法基本思想

    ICP(Iterative Closest Point迭代最近)算法是一種集對集配準方法。如下圖所示,PR(紅色
    的頭像 發表于 09-24 12:43 ?4161次閱讀
    <b class='flag-5'>點</b><b class='flag-5'>云</b><b class='flag-5'>匹配</b>與ICP算法基本思想

    圖像匹配應用及方法

    圖像匹配 應用: 目標識別、目標跟蹤、超分辨率影像重建、視覺導航、圖像拼接、三維重建、視覺定位、場景深度計算 方法: 基于深度學習的特征匹配算法、實時
    的頭像 發表于 12-26 11:08 ?7459次閱讀

    一種多幅數據與紋理序列自動配準方法

    方法數據生成強度圖像,通過特征匹配得到紋理影像與強度圖像間的匹配關系,利用RANSAC算法進行匹配
    發表于 03-18 10:42 ?5次下載
    一種多幅<b class='flag-5'>點</b><b class='flag-5'>云</b>數據與紋理序列自動配準<b class='flag-5'>方法</b>

    使用CUDA PCL 1.0加速Jetson的處理

      很多Jetson用戶在自動化解決方案中選擇激光雷達進行定位和感知。激光雷達使用3D描繪周圍的空間環境。可以高精度長距離采樣物體表面信息以便于上層應用的障礙感知、繪圖、定位和
    的頭像 發表于 04-27 10:53 ?4520次閱讀
    使用CUDA <b class='flag-5'>PCL</b> 1.0加速Jetson的<b class='flag-5'>點</b><b class='flag-5'>云</b>處理

    SDMNet:大規模激光雷達配準的稀疏到稠密匹配網絡

    為了處理上述的問題,我們提出了SDMNet,一種新的由稀疏到密集的針對大規模室外的配準方法。稀疏到稠密匹配方案如圖1(c)所示。具體而言,我們將配準問題分為兩個階段,即稀疏
    的頭像 發表于 05-24 15:53 ?1648次閱讀
    SDMNet:大規模激光雷達<b class='flag-5'>點</b><b class='flag-5'>云</b>配準的稀疏到稠密<b class='flag-5'>匹配</b>網絡

    Lane Tech PCL:通過語音命令的東西分配器

    電子發燒友網站提供《Lane Tech PCL:通過語音命令的東西分配器.zip》資料免費下載
    發表于 06-26 11:36 ?0次下載
    Lane Tech <b class='flag-5'>PCL</b>:通過語音命令的東西分<b class='flag-5'>配器</b>

    基于深度學習的分割的方法介紹

    基于視圖和投影的方法、基于體素的方法、無序方法、有序
    發表于 07-20 15:23 ?3次下載

    濾波與匹配進階干貨收藏

    之前作者專門為匹配寫了幾篇博客,但是我們發現最近幾年有更多的新方法已經在不斷地被使用。 同時之前有些內容也沒有很好的概括,所以這里我們將作為一篇進階文章來介紹這些
    的頭像 發表于 11-06 11:03 ?1390次閱讀

    PCL中基礎下采樣介紹

    顧名思義,隨機下采樣就似乎在原始點云中隨機采樣一定點數的。這種方法最終得到的數量也是固定的。 pcl::PointCloud ::Pt
    的頭像 發表于 11-21 17:03 ?1498次閱讀
    <b class='flag-5'>PCL</b>中基礎下采樣介紹
    主站蜘蛛池模板: 夜夜想夜夜爽天天爱天天摸 | 日本高清一本视频 | 久久天天综合 | 人人爽人人干 | 婷婷亚洲综合五月天小说在线 | 国内久久精品 | 1000部禁片黄的免费看 | 五月婷婷丁香六月 | 超级碰碰青草免费视频92 | 欧美激情αv一区二区三区 欧美激情第一欧美在线 | 久久黄色影片 | 五月婷婷一区二区 | 九九久久国产精品大片 | 在线成人免费 | 狠狠婷婷| 欧美人与zoxxxx另类9 | 怡红院精品视频 | 婷婷激情六月 | 久插视频| 四虎最新网址在线观看 | 日韩视频 中文字幕 视频一区 | 天天做日日爱 | 精品国产成人三级在线观看 | 色九| 欧美成人免费大片888 | 国产20岁美女一级毛片 | 白丝丝袜高跟国产在线视频 | 天天做夜夜爱 | 国产黄在线观看免费观看不卡 | 亚洲一区中文 | 精品国内一区二区三区免费视频 | 欧美乱理伦另类视频 | 天堂bt种子资源+在线 | 在线播放亚洲视频 | 五月天激情在线 | 天天摸天天躁天天添天天爽 | 女人张开腿让男人桶免费最新 | 欧美三级精品 | 天天躁狠狠躁夜躁2021 | 国产老肥熟xxxx | 色日本视频|