日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PCL的学习必要性、重要性、意义及最初——持续修改中

發布時間:2023/12/31 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PCL的学习必要性、重要性、意义及最初——持续修改中 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么學習PCL: 圖像描述:各種維度圖像的邏輯描述形式? ^-^

??????? 且點云庫是機器人學領域的必備基礎庫,ICRA和IROS的計算機視覺相關一般都使用了PCL庫,PCL庫也成為ROS的基礎部分,與機器人操作系統有了很好的對接。

????? ? 自此,開始了點云庫里被淹沒的苦X生涯。不停地重建、分割、識別、解析語義,分割、抓取..........

???????? 什么是機器人,天曉得!我都沒有見過一個完整功能的機器人!!!Fuck了的世界,對我真是太不公平了

前言:PCL 簡介

??????? 官方主頁:http://pointclouds.org/

?? ? ?? PCL中國:http://www.pclcn.org/? (對于英語語言運用不好的同學,可以參考此網站的資料,比較詳細,英文版的就只是下載一些軟件包)

???????? PCL入門文檔 :http://blog.csdn.net/vbskj/article/details/7556269

官方介紹:

What is PCL?

???? ? ? The Point Cloud Library (orPCL) is alarge scale, open project[1] for 2D/3D image and point cloud processing. The PCL framework contains numerous state-of-the art algorithms including filtering, feature estimation, surface reconstruction, registration, model fitting and segmentation. These algorithms can be used, for example, to filter outliers from noisy data, stitch 3D point clouds together, segment relevant parts of a scene, extract keypoints and compute descriptors to recognize objects in the world based on their geometric appearance, and create surfaces from point clouds and visualize them -- to name a few.

??? ? ?? 點云庫是一個大規模,開放工程的2D,3D處理庫。骨架包括......(更多信息請參考中文網站.....)

? ? ?? ? 對于PCL的詳細介紹,可參見 ICRA2011的一篇論文:icra2011?? 3D is here: Point Cloud Library (PCL).此paper里面有詳細的介紹及大致的使用規則.

???????? 我在IEEE上檢索到的一篇paper:Point Cloud Library:Three-DimensionalObject Recognition and 6 DoF Pose Estimation(Robotics & Automation Magazine, IEEE
Volume: 19,Issue: 3) 有一個詳細的使用規則。???


(一):從基礎數據開始


轉自官方網站::http://www.pclcn.org/study/shownews.php?lang=cn&id=54?????

PCD文件(點云數據)格式

?????? 本節描述PCD(點云數據)文件格式。

為什么用一種新的文件格式?

???????? PCD文件格式并非白費力氣地做重復工作,現有的文件結構因本身組成的原因不支持由PCL庫引進n維點類型機制處理過程中的某些擴展,而PCD文件格式能夠很好地補足這一點。PCD不是第一個支持3D點云數據的文件類型,尤其是計算機圖形學和計算幾何學領域,已經創建了很多格式來描述任意多邊形和激光掃描儀獲取的點云。包括下面幾種格式:

????? l?? PLY是一種多邊形文件格式,由Stanford大學的Turk等人設計開發;

????? l? STL是3D Systems公司創建的模型文件格式,主要應用于CAD、CAM領域;

????? l??OBJ是從幾何學上定義的文件格式,首先由Wavefront Technologies開發;

????? l??X3D是符合ISO標準的基于XML的文件格式,表示3D計算機圖形數據;

????? l??其他許多種格式。

以上所有的文件格式都有缺點,在下一節會講到。這是很自然的,因為它們是在不同時間為了不同的使用目的所創建的,那時今天的新的傳感器技術和算法都還沒有發明出來。


我的理解 : 各種維度圖像的邏輯描述形式——我為什么偏愛點云

PCD版本

??????? 在點云庫(PCL)1.0版本發布之前,PCD文件格式有不同的修訂號。這些修訂號用PCD_Vx來編號(例如,PCD_V5、PCD_V6、PCD_V7等等),代表PCD文件的0.x版本號。然而PCL中PCD文件格式的正式發布是0.7版本(PCD_V7)。

文件頭格式

?????? 每一個PCD文件包含一個文件頭,它確定和聲明文件中存儲的點云數據的某種特性。PCD文件頭必須用ASCII碼來編碼。PCD文件中指定的每一個文件頭字段以及ascii點數據都用一個新行(\n)分開了,從0.7版本開始,PCD文件頭包含下面的字段:

·VERSION –指定PCD文件版本 ·FIELDS –指定一個點可以有的每一個維度和字段的名字。例如: FIELDS x y z # XYZ data FIELDS x y z rgb # XYZ + colors FIELDS x y z normal_xnormal_y normal_z # XYZ + surface normals FIELDS j1 j2 j3 # moment invariants

...

·SIZE?–用字節數指定每一個維度的大小。例如:

unsigned char/char has 1 byte unsigned short/short has 2 bytes unsignedint/int/float has 4 bytes double has 8 bytes

·TYPE?–用一個字符指定每一個維度的類型?,F在被接受的類型有:

I?–表示有符號類型int8(char)、int16(short)和int32(int);

U?– 表示無符號類型uint8(unsigned char)、uint16(unsigned short)和uint32(unsigned int);

F?–表示浮點類型。

·COUNT?–指定每一個維度包含的元素數目。例如,x這個數據通常有一個元素,但是像VFH這樣的特征描述子就有308個。實際上這是在給每一點引入n維直方圖描述符的方法,把它們當做單個的連續存儲塊。默認情況下,如果沒有COUNT,所有維度的數目被設置成1。

·WIDTH?–用點的數量表示點云數據集的寬度。根據是有序點云還是無序點云,WIDTH有兩層解釋:

1)它能確定無序數據集的點云中點的個數(和下面的POINTS一樣);

2)它能確定有序點云數據集的寬度(一行中點的數目)。

(注意:有序點云數據集,意味著點云是類似于圖像(或者矩陣)的結構,數據分為行和列。這種點云的實例包括立體攝像機和時間飛行攝像機生成的數據。有序數據集的優勢在于,預先了解相鄰點(和像素點類似)的關系,鄰域操作更加高效,這樣就加速了計算并降低了PCL中某些算法的成本。

例如:

WIDTH 640 # 每行有640個點 ·HEIGHT –用點的數目表示點云數據集的高度。類似于WIDTH ,HEIGHT也有兩層解釋:

1)它表示有序點云數據集的高度(行的總數);

2)對于無序數據集它被設置成1(被用來檢查一個數據集是有序還是無序)。

有序點云例子:

WIDTH 640 # 像圖像一樣的有序結構,有640行和480列, HEIGHT 480 # 這樣該數據集中共有640*480=307200個點)

無序點云例子:

WIDTH 307200 HEIGHT 1 # 有307200個點的無序點云數據集

·VIEWPOINT–指定數據集中點云的獲取視點。VIEWPOINT有可能在不同坐標系之間轉換的時候應用,在輔助獲取其他特征時也比較有用,例如曲面法線,在判斷方向一致性時,需要知道視點的方位,

視點信息被指定為平移(txtytz)+四元數(qwqxqyqz)。默認值是:

VIEWPOINT 0 0 0 1 0 0 0 ·POINTS–指定點云中點的總數。從0.7版本開始,該字段就有點多余了,因此有可能在將來的版本中將它移除。

例子:

POINTS 307200 #點云中點的總數為307200 ·DATA –指定存儲點云數據的數據類型。從0.7版本開始,支持兩種數據類型:ascii和二進制。查看下一節可以獲得更多細節。

注意:文件頭最后一行(DATA)的下一個字節就被看成是點云的數據部分了,它會被解釋為點云數據。

警告:PCD文件的文件頭部分必須以上面的順序精確指定,也就是如下順序:

VERSION、FIELDS、SIZE、TYPE、COUNT、WIDTH、HEIGHT、VIEWPOINT、POINTS、DATA

之間用換行隔開。

數據存儲類型

在0.7版本中,.PCD文件格式用兩種模式存儲數據:

??????? 如果以ASCII形式,每一點占據一個新行:

p_1 p_2 ... p_n

注意:從PCL 1.0.1版本開始,用字符串“nan”表示NaN,此字符表示該點的值不存在或非法等。

?????? 如果以二進制形式,這里數據是數組(向量)pcl::PointCloud.points的一份完整拷貝,在Linux系統上,我們用mmap/munmap操作來盡可能快的讀寫數據,存儲點云數據可以用簡單的ascii形式,每點占據一行,用空格鍵或Tab鍵分開,沒有其他任何字符。也可以用二進制存儲格式,它既簡單又快速,當然這依賴于用戶應用。ascii格式允許用戶打開點云文件,使用例如gunplot這樣的標準軟件工具更改點云文件數據,或者用sed、awk等工具來對它們進行操作。

相對其他文件格式的優勢

?????? 用PCD作為(另一種)文件格式可能被看成是沒有必要的一項工作。但實際中,情況不是這樣的,因為上面提到的文件格式無一能提高PCD文件的適用性和速度。PCD文件格式包括以下幾個明顯的優勢:

??????? l??? 存儲和處理有序點云數據集的能力——這一點對于實時應用,例如增強現實、機器人學等領域十分重要;

?????? l? ??二進制mmap/munmap數據類型是把數據下載和存儲到磁盤上最快的方法;

??????? l? ? 存儲不同的數據類型(支持所有的基本類型:char,short,int,float,double)——使得點云數據在存儲和處理過程中適應性強并且高效,其中無效的點的通常存儲為NAN類型;

??????? l? ??特征描述子的n維直方圖——對于3D識別和計算機視覺應用十分重要。

?????? 另一個優勢是通過控制文件格式,我們能夠使其最大程度上適應PCL,這樣能獲得PCL應用程序的最好性能,而不用把一種不同的文件格式改變成PCL的內部格式,這樣的話通過轉換函數會引起額外的延時。

注意:盡管PCD(點云數據)是PCL中的內部文件格式,pcl_io庫也提供在前面提到的所有其他文件格式中保存和加載數據。

例子

下面貼出了PCD文件的一個片段。把它留給讀者以解析這些數據,看看它的組成,玩的愉快!# .PCD v.7 - Point Cloud Data file format VERSION .7 FIELDS x y z rgb SIZE 4 4 4 4 TYPE F FFF COUNT 1 1 1 1 WIDTH 213 HEIGHT 1 //設置為1,標記為無序點云 VIEWPOINT 0 0 0 1 0 0 0 POINTS 213 //點云中點的總數為213 DATA ascii 0.93773 0.33763 0 4.2108e+06 0.90805 0.35641 0 4.2108e+06

Example:格式內容.

A snippet of a PCD file is attached below. It is left to the reader tointerpret the data and see what it means. :) ? Have fun!:

# .PCD v.7 - Point Cloud Data file format VERSION .7 FIELDS x y z rgb SIZE 4 4 4 4 TYPE F F F F COUNT 1 1 1 1 WIDTH 213 HEIGHT 1 VIEWPOINT 0 0 0 1 0 0 0 POINTS 213 DATA ascii 0.93773 0.33763 0 4.2108e+06 0.90805 0.35641 0 4.2108e+06 0.81915 0.32 0 4.2108e+06 0.97192 0.278 0 4.2108e+06 0.944 0.29474 0 4.2108e+06 0.98111 0.24247 0 4.2108e+06 0.93655 0.26143 0 4.2108e+06 0.91631 0.27442 0 4.2108e+06 0.81921 0.29315 0 4.2108e+06 0.90701 0.24109 0 4.2108e+06 0.83239 0.23398 0 4.2108e+06 0.99185 0.2116 0 4.2108e+06 0.89264 0.21174 0 4.2108e+06 0.85082 0.21212 0 4.2108e+06 0.81044 0.32222 0 4.2108e+06 0.74459 0.32192 0 4.2108e+06 0.69927 0.32278 0 4.2108e+06 0.8102 0.29315 0 4.2108e+06 0.75504 0.29765 0 4.2108e+06 0.8102 0.24399 0 4.2108e+06 0.74995 0.24723 0 4.2108e+06 0.68049 0.29768 0 4.2108e+06 0.66509 0.29002 0 4.2108e+06 0.69441 0.2526 0 4.2108e+06 0.62807 0.22187 0 4.2108e+06 0.58706 0.32199 0 4.2108e+06 0.52125 0.31955 0 4.2108e+06 0.49351 0.32282 0 4.2108e+06 0.44313 0.32169 0 4.2108e+06 0.58678 0.2929 0 4.2108e+06 0.53436 0.29164 0 4.2108e+06 0.59308 0.24134 0 4.2108e+06 0.5357 0.2444 0 4.2108e+06 0.50043 0.31235 0 4.2108e+06 0.44107 0.29711 0 4.2108e+06 0.50727 0.22193 0 4.2108e+06 0.43957 0.23976 0 4.2108e+06 0.8105 0.21112 0 4.2108e+06 0.73555 0.2114 0 4.2108e+06 -0.85618 0.29497 0 4.2108e+06 -0.79975 0.24326 0 4.2108e+06 -0.8521 0.24246 0 4.2108e+06 -0.91157 0.31224 0 4.2108e+06 -0.95031 0.29572 0 4.2108e+06 -0.92223 0.2213 0 4.2108e+06 -0.94979 0.24354 0 4.2108e+06 -0.78641 0.21505 0 4.2108e+06 -0.87094 0.21237 0 4.2108e+06 -0.90637 0.20934 0 4.2108e+06 -0.93777 0.21481 0 4.2108e+06 0.22244 -0.0296 0 4.808e+06 0.2704 -0.078167 0 4.808e+06 ?敬請關注PCL(Point Cloud Learning)中國更多的點云庫PCL(Point Cloud Library)相關官方教程。


(二)PCL庫的模塊

簡單介紹:http://qing.blog.sina.com.cn/1455173150/56bc2e1e330005pk.html

??????? PCL is released under the terms of the 3-clause BSD license and is open source software. It is free for commercial and research use.

?? ? ? PCL is cross-platform, and has been successfully compiled and deployed on Linux, MacOS, Windows, andAndroid/iOS. To simplify development, PCL is split into a series of smaller code libraries, that can be compiled separately. This modularity is important for distributing PCL on platforms with reduced computational or size constraints (for more information about each module see the documentation page). Another way to think about PCL is as a graph of code libraries, similar to theBoost set of C++ libraries. Here's an example:


pcl的子模塊們 pcl_filters ? ? ? ? ? ? ? ? ? ? 去除噪點 pcl_features??????????????? 三維特征提取 pcl_registration ? ? ? ? ? 將點云融合到一個全局模型中 pcl_kdtree?????????????????? 基于FLANN的kdtree實現最近鄰搜索 pcl_octree?????????????????? 基于八叉樹實現最近鄰搜索 pcl_segmentation?????? 分割點云 pcl_sample_consensus? 對點云進行擬合(線、面、園、球、柱面、平行線),擬合算法包括: * SAC_RANSAC - RANdom SAmple Consensus * SAC_LMEDS - Least Median of Squares * SAC_MSAC - M-Estimator SAmple Consensus * SAC_RRANSAC - Randomized RANSAC * SAC_RMSAC - Randomized MSAC * SAC_MLESAC - Maximum LikeLihood Estimation SAmple Consensus * SAC_PROSAC - PROgressive SAmple Consensus pcl_surface???????????????????????????? 從三維掃描重建表面,可以是mesh/convex hull/concave hull pcl_range_image ?????????????????? 深度圖,由kinect獲取后可轉換為點云 pcl_io?????????????????????????????????????? 輸入輸出,PCD (Point Cloud Data) 文件的讀寫,OpenNI的接口(沒有實現微軟SDK的接口) pcl_visualization????????????????????? 類似于OpenCV中highgui的作用,基于VTK實現三維可視化(VTK是一個極其龐大的庫)

因此有了庫:
必需的庫有: boost??????? C++的高級版本庫
Eigen?????? 矩陣計算庫,主要用于位姿計算
FLANN???? 近似最近鄰查詢,用于匹配和模式識別

可選項有: VTK,用于pcl_visualization????? PCL的顯示庫,可是實時顯示點云
QHull,用于pcl_surface?????????? 多邊形計算庫,可以計算PLY格式點云
OpenNI,用于pcl_io??????????????? ? I/O關系,得到PLY格式點云,可以自行轉化為PCD格式
CUDA??????????????????????????????????????? 加速計算庫

后記: 使用PCL庫時,要選取一塊好的NVIDIA顯卡.....................


轉載了...

總結

以上是生活随笔為你收集整理的PCL的学习必要性、重要性、意义及最初——持续修改中的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 明日叶三叶 | 国产精品无码久久久久 | 交专区videossex农村 | 国产女主播一区二区三区 | 污片视频在线观看 | 亚洲精品中文字幕乱码三区 | 草久久av| 韩国伦理中文字幕 | 97免费在线观看视频 | 久久五 | 美女又黄又爽 | 99国内揄拍国内精品人妻免费 | 午夜免费网 | 夜色资源网 | 青娱乐av在线 | 国产com| 亚洲涩涩网 | 日韩欧美中文字幕一区二区三区 | 亚洲成人一区二区三区 | 成人性生交生交视频 | 精品久久久久久亚洲综合网站 | 成人av电影在线观看 | 日本高清免费看 | 中国三级黄色 | 日韩avxxx | 欧美性生活网址 | 国产中文久久 | 男人天堂a | 黄色大片网址 | 男男车车的车车网站w98免费 | 免费一级黄色片 | 亚洲一区二区蜜桃 | 日本男女激情视频 | 日本性xxxxx| 91高清视频免费观看 | 中文在线字幕免费观看 | 黄色资源在线 | 亚洲熟妇av一区二区三区漫画 | www.国产成人| 亚洲а∨天堂久久精品2021 | 亚洲视频在线观看一区 | 欧美经典一区二区 | 国产精品久久久久久免费播放 | 久久久久亚洲AV成人 | 日韩第三页 | 色噜 | 国产露脸91国语对白 | 黄色草逼网站 | 四虎视频在线观看 | www.99av| 99精品视频在线免费观看 | 午夜在线精品偷拍 | 国产第一页精品 | 久久99精品国产.久久久久久 | 国产毛片毛片毛片毛片毛片毛片 | 国产精品3 | 秋霞无码一区二区 | 亚洲少妇视频 | 亚洲综合不卡 | 欧美三级久久久 | 精品亚洲综合 | 日韩毛片网 | 久久色婷婷| 美女啪啪动态图 | 麻豆精品久久久久久久99蜜桃 | 亚洲精品国产日韩 | 一品道av| 污视频网站在线播放 | 亚洲男人天堂2017 | 日韩精品123 | 精品一区精品二区 | 99久久久久久久 | 天堂精品一区 | 少妇荡乳情欲办公室456视频 | 国产精品视频成人 | av有码在线 | 天堂中文在线资源 | 香港台湾日本三级大全 | 免费看欧美一级特黄a大片 国产免费的av | 精品无码国产污污污免费网站 | 欧美激情视频在线播放 | jizz日本在线 | 天天曰夜夜操 | 好色婷婷 | 国产精品久久av无码一区二区 | 精品一区二区三区在线播放 | 欧美 日韩 人妻 高清 中文 | 免费看日批 | 日本韩国欧美一区二区三区 | 国产97av | 欧美成人dvd在线视频 | 国产91久 | 名校风暴在线观看免费高清完整 | 欧美日韩丝袜 | 狠狠爱五月婷婷 | 成人黄色网址在线观看 | 国产精品国产馆在线真实露脸 | 波多野结衣二区三区 | 免看一级a毛片一片成人不卡 |