points. push_back (pt); }}incloud- >width = 1 ;incloud- >height = uint32_t (inclo" />
0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

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

PCL中非均勻體素采樣介紹

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

非均勻體素采樣

SamplingSurfaceNormal,將輸入空間劃分為網(wǎng)格,直到每個網(wǎng)格中最多包含N個點,并在每個網(wǎng)格中隨機采樣點。 使用每個網(wǎng)格的N個點計算法線。 在網(wǎng)格內(nèi)采樣的所有點都分配有相同的法線。

PointCloud < PointNormal >::Ptr incloud (new PointCloud < PointNormal > ());
PointCloud < PointNormal > outcloud;


//Creating a point cloud on the XY plane
for (float i = 0.0f; i < 5.0f; i += 0.1f)
{
  for (float j = 0.0f; j < 5.0f; j += 0.1f)
  {
    PointNormal pt;
    pt.x = i;
    pt.y = j;
    pt.z = 1;
    incloud- >points.push_back (pt);
  }
}
incloud- >width = 1;
incloud- >height = uint32_t (incloud- >points.size ());


pcl::SamplingSurfaceNormal < pcl::PointNormal > ssn_filter;
ssn_filter.setInputCloud (incloud);
ssn_filter.setRatio (0.3f);
ssn_filter.filter (outcloud);


// All the sampled points should have normals along the direction of Z axis
for (unsigned int i = 0; i < outcloud.points.size (); i++)
{
  EXPECT_NEAR (outcloud.points[i].normal[0], 0, 1e-3);
  EXPECT_NEAR (outcloud.points[i].normal[1], 0, 1e-3);
  EXPECT_NEAR (outcloud.points[i].normal[2], 1, 1e-3);
}

6. 半徑濾波器采樣

對整個輸入迭代一次,對于每個點進行半徑R鄰域搜索,如果鄰域點的個數(shù)低于某一閾值,則該點將被視為噪聲點并被移除。

流程:讀入點云→創(chuàng)建半徑濾波器對象→設置離群點閾值→執(zhí)行下采樣→保存采樣結果

pcl::PointCloud< pcl::PointXYZ >::Ptr pcl_cloud_ptr(pcl_cloud);


boost::shared_ptr< pcl::PointCloud< pcl::PointXYZ >> pcl_vg_cloud(new pcl::PointCloud< pcl::PointXYZ >());
pcl::PointCloud< pcl::PointXYZ >::Ptr pcl_vg_cloud_ptr(pcl_vg_cloud);


boost::shared_ptr< pcl::PointCloud< pcl::PointXYZ >> pcl_ror_cloud(new pcl::PointCloud< pcl::PointXYZ >());
pcl::PointCloud< pcl::PointXYZ >::Ptr pcl_ror_cloud_ptr(pcl_ror_cloud);


//Use VoxelGrid to make points sparse
pcl::VoxelGrid< pcl::PointXYZ > sor;
sor.setInputCloud (pcl_cloud_ptr);
sor.setLeafSize (0.08, 0.1, 0.1); 
sor.filter (*pcl_vg_cloud_ptr);


//Use RadiusOutlierRemoval to remove the point whitch is far away to others
pcl::RadiusOutlierRemoval< pcl::PointXYZ > outrem;
outrem.setInputCloud(pcl_vg_cloud_ptr);
outrem.setRadiusSearch(0.5);
outrem.setMinNeighborsInRadius (3);
outrem.filter (*pcl_ror_cloud_ptr); 


//transfrom and publish
sensor_msgs::PointCloud2Ptr msg_pointcloud(new sensor_msgs::PointCloud2);
pcl::toROSMsg(*pcl_ror_cloud, *msg_pointcloud);
msg_pointcloud- >header.frame_id = optical_frame_id_[RS_STREAM_DEPTH];;  
msg_pointcloud- >header.stamp = ros::Time::now();
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • plc
    plc
    +關注

    關注

    5006

    文章

    13107

    瀏覽量

    461462
  • 采樣
    +關注

    關注

    1

    文章

    119

    瀏覽量

    25521
收藏 人收藏

    評論

    相關推薦

    labview能否對非均勻采樣數(shù)據(jù)進行處理

    labview能不能恢復非均勻采樣數(shù)據(jù)的波形,進而對其進行頻譜測量、FFT?
    發(fā)表于 01-15 13:31

    如何實現(xiàn)非均勻采樣

    用NI數(shù)據(jù)采集卡,如何用LabVIEW進行非均勻采樣,并且對所得到的數(shù)據(jù)進行運算~請高手指點
    發(fā)表于 04-16 20:26

    PCL點云庫介紹及項目配置方式

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

    超材料 光啟技術

    超材料 光啟技術,浪花是如何形成的?如果把浪花拆解開來,它只剩下一個個水分子。如果再把這些水分子聚集起來,在潮汐力的作用下,浪花才能“涌現(xiàn)”出來。涌現(xiàn),也是智慧誕生的方式。由簡單的元素和簡單的聯(lián)接,構成一...
    發(fā)表于 07-12 07:28

    PCL6143運動控制器原理及應用

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

    均勻采樣的頻譜研究

    均勻采樣的一個很大的優(yōu)點就是它具有抗頻率混疊的性能[ ],首先從均勻采樣討論由采樣而引起的頻譜混疊現(xiàn)象,在
    發(fā)表于 03-13 16:18 ?18次下載
    非<b class='flag-5'>均勻</b><b class='flag-5'>采樣</b>的頻譜研究

    一種新的非均勻采樣信號的離散傅里葉變換方法

    針對偽隨機(PN)碼調(diào)制的多普勒激光雷達中固有的對外差信號不能等間隔采樣的問題,提出一種新的非均勻采樣信號的離散傅里葉變換(DFT)方法。首先,給出距離速度同步測量多普勒激光雷達系統(tǒng)模型,指出對外
    發(fā)表于 12-23 11:40 ?0次下載
    一種新的非<b class='flag-5'>均勻</b><b class='flag-5'>采樣</b>信號的離散傅里葉變換方法

    基于的算法介紹

    我們介紹了一種新穎的基于的算法,該算法可以交互式地模擬漫反射和光滑單反射間接照明。
    的頭像 發(fā)表于 11-06 06:04 ?4246次閱讀

    一種基于點云的Voxel(三維)特征的深度學習方法

    特征學習網(wǎng)絡的結構如下圖所示,包括分塊(Voxel Partition),點云分組(Grouping),隨機采樣(Random Sampling),多層的
    的頭像 發(fā)表于 12-07 09:32 ?2.2w次閱讀

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

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

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

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

    什么是中頻采樣?什么是IQ采樣?中頻采樣和IQ采樣的比較和轉(zhuǎn)換

    什么是中頻采樣?什么是IQ采樣?中頻采樣和IQ采樣的比較和轉(zhuǎn)換? 中頻采樣和IQ采樣是數(shù)字信號處
    的頭像 發(fā)表于 10-22 11:24 ?5497次閱讀
    什么是中頻<b class='flag-5'>采樣</b>?什么是IQ<b class='flag-5'>采樣</b>?中頻<b class='flag-5'>采樣</b>和IQ<b class='flag-5'>采樣</b>的比較和轉(zhuǎn)換

    PCL中基礎下采樣介紹

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

    PCL中最遠點采樣是什么

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

    PCL中法線空間采樣介紹

    法線空間采樣 NormalSpaceSampling即:法線空間采樣,它在法向量空間內(nèi)均勻隨機抽樣,使所選點之間的法線分布盡可能大,結果表現(xiàn)為地物特征變化大的地方剩余點較多,變化小的地方剩余點稀少
    的頭像 發(fā)表于 11-21 17:28 ?750次閱讀