0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PCL中法線空間采樣介紹

麥辣雞腿堡 ? 來源:古月居 ? 作者:敢敢のwings ? 2023-11-21 17:28 ? 次閱讀

法線空間采樣

NormalSpaceSampling即:法線空間采樣,它在法向量空間內(nèi)均勻隨機(jī)抽樣,使所選點(diǎn)之間的法線分布盡可能大,結(jié)果表現(xiàn)為地物特征變化大的地方剩余點(diǎn)較多,變化小的地方剩余點(diǎn)稀少,可有效保持地物特征。實(shí)現(xiàn)方法如下:

1、首先計(jì)算每個(gè)點(diǎn)的K領(lǐng)域,然后計(jì)算點(diǎn)到領(lǐng)域點(diǎn)的法線夾角值,以此來近似達(dá)到曲率的效果并提高計(jì)算效率,因?yàn)榍试酱蟮牡胤剑瑠A角值越大。

2、設(shè)置一個(gè)角度閾值,當(dāng)點(diǎn)的領(lǐng)域夾角值大于閾值時(shí)被認(rèn)為是特征明顯的區(qū)域,其余區(qū)域?yàn)椴幻黠@區(qū)域。

3、對明顯和不明顯區(qū)域進(jìn)行均勻采樣,采樣數(shù)分別為U_(1-V)和U_V,U是目標(biāo)采樣數(shù),V是均勻采樣性。

// 創(chuàng)建基于鄰域的法向估計(jì)類對象
 // // 基于omp并行加速,需配置開啟OpenMP
 // pcl::NormalEstimationOMP< pcl::PointXYZ, pcl::Normal > ne; 
 // ne.setNumberOfThreads(10);
 pcl::NormalEstimation< pcl::PointXYZ, pcl::Normal > ne;
 // 創(chuàng)建一個(gè)空的kdtree對象,并把它傳遞給法線估計(jì)對象,
 // 用于創(chuàng)建基于輸入點(diǎn)云數(shù)據(jù)的鄰域搜索kdtree
 pcl::search::KdTree< pcl::PointXYZ >::Ptr 
             tree(new pcl::search::KdTree< pcl::PointXYZ >());
 // 傳入待估計(jì)法線的點(diǎn)云數(shù)據(jù),智能指針
 ne.setInputCloud(cloud_src);
 // 傳入kdtree對象,智能指針
 ne.setSearchMethod(tree);
 // 設(shè)置鄰域搜索半徑
 ne.setRadiusSearch(0.1f);    // 設(shè)置半徑時(shí),要考慮到點(diǎn)云空間間距
 // // 也可以設(shè)置最近鄰點(diǎn)個(gè)數(shù)
 // ne.setKSearch(25);
 // 設(shè)置視點(diǎn)源點(diǎn),用于調(diào)整點(diǎn)云法向(指向視點(diǎn)),默認(rèn)(0,0,0)
 ne.setViewPoint(0,0,0);
 // 計(jì)算法線數(shù)據(jù)
 ne.compute(*cloud_normals);


 // 通過concatenateFields函數(shù)將point和normal組合起來形成PointNormal點(diǎn)云數(shù)據(jù)
 pcl::PointCloud< pcl::PointNormal >::Ptr 
             cloud_with_normal(new pcl::PointCloud< pcl::PointNormal >());
 pcl::PointCloud< pcl::PointNormal >::Ptr 
     cloud_with_normal_sampled(new pcl::PointCloud< pcl::PointNormal >());
 pcl::concatenateFields(*cloud_src, *cloud_normals, *cloud_with_normal);


 // 創(chuàng)建法向空間采樣(模板)類對象
 pcl::NormalSpaceSampling< pcl::PointNormal, pcl::Normal > nss;
 // 設(shè)置xyz三個(gè)法向空間的分類組數(shù),此處設(shè)置為一致,根據(jù)具體場景可以調(diào)整
 const int kBinNum = 8;
 nss.setBins(kBinNum, kBinNum, kBinNum);
 // 如果傳入的是有序點(diǎn)云,此處可以嘗試設(shè)置為true
 nss.setKeepOrganized(false);
 // 設(shè)置隨機(jī)種子,這樣可以保證同樣的輸入可以得到同樣的結(jié)果,便于debug分析
 nss.setSeed(200);   // random seed
 // 傳入待采樣的點(diǎn)云數(shù)據(jù)
 nss.setInputCloud(cloud_with_normal);
 // 傳入用于采樣分析的法線數(shù)據(jù),需與傳入點(diǎn)云數(shù)據(jù)一一對應(yīng)
 nss.setNormals(cloud_normals);
 // 設(shè)置采樣總數(shù),即目標(biāo)點(diǎn)云的總數(shù)據(jù)量
 const float kSampleRatio = 0.1f;
 nss.setSample(cloud_with_normal- >size()*kSampleRatio);
 // 執(zhí)行采樣并帶出采樣結(jié)果
 nss.filter(*cloud_with_normal_sampled);
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5014

    文章

    13347

    瀏覽量

    464432
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7104

    瀏覽量

    89295
  • 采樣
    +關(guān)注

    關(guān)注

    1

    文章

    123

    瀏覽量

    25586
收藏 人收藏

    評論

    相關(guān)推薦

    關(guān)于232的NCL,PCL的疑問

    有沒有大神接觸過這種232通訊的儀表,上面有NCL RXD,NCL TXD;PCL RXD,PCL TXD。這種能用DB9的芯片去采集數(shù)據(jù)嗎?我用DB9的RXD去接它的 NCL TXD,數(shù)據(jù)偶爾會有一位的偏移,請問該怎么正確的采集它的數(shù)據(jù),拜謝
    發(fā)表于 11-07 16:15

    PCL點(diǎn)云庫介紹及項(xiàng)目配置方式

    關(guān)于PCL點(diǎn)云庫,大家百度的時(shí)候可以找到很多相關(guān)的介紹,反正一堆專業(yè)性概念,相關(guān)的技術(shù)層面以及一些強(qiáng)大的應(yīng)用敘述云云,不過關(guān)于這些小編實(shí)在不感冒,能先把這個(gè)工具好好用起來再說吧。關(guān)于PCL相關(guān)的論壇
    發(fā)表于 07-02 07:44

    EMIF介紹CE空間

    一. EMIF介紹CE空間:dsp的存儲空間分為片內(nèi)和片外兩種,片外空間分成四個(gè)部分,分別用于映射不同的片外設(shè)備,即ce空間 。The re
    發(fā)表于 07-28 09:08

    阿爾法線圈是什么

    在無線充電領(lǐng)域,我們平常可以看到各種不同尺寸、不同材質(zhì)、不同形狀的線圈被廣泛應(yīng)用于發(fā)射端與接收端產(chǎn)品上,alpha線圈,俗稱阿爾法線圈,因?yàn)樗膬蓚€(gè)引出線均在線圈外側(cè),形似α而得名。阿爾法線圈是單線
    發(fā)表于 09-15 06:43

    如何去配置PCL

    PCL是什么?怎樣去編寫并調(diào)試PCL程序?
    發(fā)表于 10-09 08:19

    PCL6143運(yùn)動控制器原理及應(yīng)用

    PCL6143運(yùn)動控制器的原理及應(yīng)用 可以用于設(shè)計(jì)開發(fā)相應(yīng)的芯片電路。介紹PCL6143 的功能結(jié)構(gòu)、主要寄存器以及指令系統(tǒng)。設(shè)計(jì)了一款基于PC104總線的四軸運(yùn)動控制卡, 介紹了如
    發(fā)表于 09-26 08:14

    PCL6143運(yùn)動控制器的原理及應(yīng)用

       介紹PCL6143的功能結(jié)構(gòu)、主要寄存器以及指令系統(tǒng)。設(shè)計(jì)了一款基于PC104總線的四軸運(yùn)動控制卡,介紹了如何編寫運(yùn)動控制卡的功能函數(shù)庫。
    發(fā)表于 12-13 17:16 ?106次下載
    <b class='flag-5'>PCL</b>6143運(yùn)動控制器的原理及應(yīng)用

    PCL電梯控制系統(tǒng)

    電子設(shè)計(jì)研發(fā)部分的研發(fā)人員常用資料,PCL電梯控制系統(tǒng),感興趣的可以瞧一瞧。
    發(fā)表于 11-03 14:53 ?68次下載

    中法海洋衛(wèi)星成功發(fā)射 首次實(shí)現(xiàn)海風(fēng)和海浪同步觀測

    北京時(shí)間10月29日8時(shí)43分,中國在酒泉衛(wèi)星發(fā)射中心用長征二號丙運(yùn)載火箭,成功發(fā)射中法合作研制的首顆衛(wèi)星中法海洋衛(wèi)星。 中國國家航天局、自然資源部介紹說,中法海洋衛(wèi)星由兩國歷時(shí)13年
    的頭像 發(fā)表于 10-29 10:05 ?5274次閱讀

    使用MATLAB編程實(shí)現(xiàn)里查森迭代法線性方程組求解的資料和程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用MATLAB編程實(shí)現(xiàn)里查森迭代法線性方程組求解的資料和程序免費(fèi)下載。
    發(fā)表于 08-09 16:56 ?0次下載
    使用MATLAB編程實(shí)現(xiàn)里查森迭代<b class='flag-5'>法線</b>性方程組求解的資料和程序免費(fèi)下載

    空間曲線基于內(nèi)在幾何量的均勻采樣方法

    為解決均勻參數(shù)采樣在許多情況下得到質(zhì)量不高的采樣點(diǎn),進(jìn)而生成不理想的B樣條擬合曲線,提出空間曲線基于內(nèi)在幾何量的均勻采樣方法,以獲得給定總數(shù)且具有代表性的
    發(fā)表于 04-22 11:34 ?4次下載
    <b class='flag-5'>空間</b>曲線基于內(nèi)在幾何量的均勻<b class='flag-5'>采樣</b>方法

    PCL中基礎(chǔ)下采樣介紹

    顧名思義,隨機(jī)下采樣就似乎在原始點(diǎn)云中隨機(jī)采樣一定點(diǎn)數(shù)的點(diǎn)。這種方法最終得到的點(diǎn)云數(shù)量也是固定的。 pcl::PointCloud ::Ptr cloud_sub( new pcl
    的頭像 發(fā)表于 11-21 17:03 ?992次閱讀
    <b class='flag-5'>PCL</b>中基礎(chǔ)下<b class='flag-5'>采樣</b><b class='flag-5'>介紹</b>

    PCL中最遠(yuǎn)點(diǎn)采樣是什么

    最遠(yuǎn)點(diǎn)采樣(Farthest Point Sampling) 這里我們來單獨(dú)看一下調(diào)用代碼,這里可以看到PCL中支持直接調(diào)用farthest_sampling這個(gè)函數(shù)可以實(shí)現(xiàn)最遠(yuǎn)點(diǎn)采樣。 最遠(yuǎn)點(diǎn)
    的頭像 發(fā)表于 11-21 17:18 ?826次閱讀

    PCL泊松盤采樣具體流程

    點(diǎn)之間最近的距離r,以及采樣點(diǎn)所在空間的維度n,比如2維平面 2、在空間里生成足夠多的網(wǎng)格,保證不接觸的兩個(gè)網(wǎng)格之間的點(diǎn)的距離大于r,并且網(wǎng)格數(shù)量足夠多保證每個(gè)網(wǎng)格至多只需裝一個(gè)采樣點(diǎn)
    的頭像 發(fā)表于 11-21 17:42 ?1360次閱讀
    <b class='flag-5'>PCL</b>泊松盤<b class='flag-5'>采樣</b>具體流程

    PCL中非均勻體素采樣介紹

    非均勻體素采樣 SamplingSurfaceNormal,將輸入空間劃分為網(wǎng)格,直到每個(gè)網(wǎng)格中最多包含N個(gè)點(diǎn),并在每個(gè)網(wǎng)格中隨機(jī)采樣點(diǎn)。 使用每個(gè)網(wǎng)格的N個(gè)點(diǎn)計(jì)算法線。 在網(wǎng)格內(nèi)
    的頭像 發(fā)表于 11-21 17:50 ?861次閱讀