PCL2 1新增您自己的自定義PointT型別

2021-10-05 00:25:25 字數 4302 閱讀 9401

參考:

1.pointxyz----- 成員:float x,y,z;

使用者可以通過points[i].data[0]或points[i].x用於訪問x座標值。

union:

union;}

;

2.pointxyzi----- 成員: float x, y, z, intensity;

簡單的xyz +強度點型別。在理想情況下,這四個元件將建立乙個與sse對齊的單一結構。但是,由於大多數點操作會將data [4]陣列的最後乙個分量設定為0或1。例如,兩個點之間的點積會將其第4個分量設定為0,否則該點積就沒有意義了,等等。因此我們不能使 強度成為同一結構的成員,因為其內容將容易覆蓋。

union;}

;union

;float data_c[4]

;};

pointxyzrgba----成員:float x,y,z;std :: uint32_t rgba;

與pointxyzi類似,除了包含無符號32位的rgba資訊。由於有了union宣告,還可以按名稱單獨訪問顏色通道。

union;}

;union

;float rgb;};

std::

uint32_t rgba;

};

pointxy - float x, y;

簡單的2d x-y點結構。

struct

;

interestpoint-浮點數x,y,z,強度;

與pointxyzi類似,只是強度包含了對關鍵點強度的度量。

union;}

;union

;float data_c[4]

;};

normal - float normal[3], curvature; 法線向量的座標值(xyz),曲率

由於在pcl中對表面法線進行的操作非常普遍,因此我們用四個分量填充為三個分量,以便進行sse對齊並提高計算效率。使用者可以訪問點points[i].data_n[0]或points[i].normal[0]或points[i].normal_x,以訪問法線向量的第乙個座標。同樣,曲率不能曲率不能儲存在相同的結構中,因為它會被對正常資料的操作覆蓋。。

union;}

union

;float data_c[4]

;};

pointnormal -=== float x, y, z; float normal[3], curvature;

乙個點結構,包含xyz資料,連同表面法線和曲率。

union;}

;union;}

;union

;float data_c[4]

;};

pointxyzrgbnormal ---- float x, y, z, normal[3], curvature; uint32_t rgba;

乙個點結構,包含xyz資料,rgba顏色,連同表面法線和曲率。

union;}

;union;}

union

;float rgb;};

std::

uint32_t rgba;};

float curvature;};

float data_c[4]

;//通過data_c[4]寫8個位元組前面是rgba4位元組,後面是曲率的4個位元組資料

};

pointxyzinormal---- float x, y, z, intensity, normal[3], curvature;

儲存xyz資料,強度值以及表面法線和曲率的點結構。

union;}

;union;}

union

;float data_c[4]

;};

pointwithrange ----- float x, y, z (union with float point[4]), range

與pointxyzi類似,range包含了從採集點到物體點的距離量。

union;}

;union

;float data_c[4]

;};

pointwithviewpoint-浮點數x,y,z,vp_x,vp_y,vp_z;

與pointxyzi類似,還包括將獲取視點包含為乙個3d點的vp_x、vp_y和vp_z。

union;}

;union

;float data_c[4]

;};

momentinvariants - float j1, j2, j3;

簡單的點型別,包含表面上3個力矩不變數。有關更多資訊,請參見momentinvariantsestimation。

struct

;

principalradiirsd - float r_min, r_max;

簡單的點型別,包含表面上的2個rsd半徑。有關更多資訊,請參見rsdestimation。

struct

;

boundary - uint8_t boundary_point;

簡單點型別,儲存了是否位於表面邊界資訊。有關更多資訊,請參見boundaryestimation。

struct

;

principalcurvatures - float principal_curvature[3], pc1, pc2;

簡單點型,包含給定點的主曲率。有關更多資訊,請參見principalcurvaturesestimation。

struct;}

;float pc1;

float pc2;

};

pfhsignature125 - float pfh[125];

儲存給定點的pfh(點特徵直方圖)的簡單點型別。有關更多資訊,請參見pfhestimation。

struct

;

vfhsignature308 - float vfh[308];

持有給定點的vfh(視點特徵直方圖)的簡單點型別。有關更多資訊,請參見vfhestimation。

struct

;

narf36 - float x, y, z, roll, pitch, yaw; float descriptor[36];

包含給定點的narf(通常對齊半徑特性)的簡單點型別。有關更多資訊,請參見narfestimation。

struct

;

borderdescription - int x, y; bordertraits traits;

簡單點型別,包含給定點的邊界型別。有關更多資訊,請參見borderestimation。

struct

;

intensitygradient - float gradient[3];

簡單點型別,包含給定點的強度梯度。有關更多資訊,請參見intensitygradientestimation。

struct;}

;};

histogram - float histogram[n];

通用n-d直方圖佔位符。

histogram -

float histogram[n]

;通用n-d直方圖佔位符。

pointwithscale - float x, y, z, scale;

與pointxyzi類似,還包含考慮幾何操作中某一點的scale(例如,計算最近鄰的球體半徑、視窗大小等)。

struct;}

;float scale;

};

pointsurfel - float x, y, z, normal[3], rgba, radius, confidence, curvature;

包含xyz資料、曲面法線、rgb資訊、比例尺、置信度和曲面曲率的複雜點型別。

union;}

;union;}

;union

;float data_c[4]

;};

自定義自己的Dialog

設定鍵盤監聽事件 if mkeylistener null 獲取對話方塊布局 view layout inflater.inflate r.layout.alert dialog,viewgroup activity context findviewbyid r.id.parentpanel lay...

jquery validate新增自定義的校驗方法

首先建立乙個js檔案裡面寫入 validator.addmethod cn function value,element 只能輸入中文 addmethod cn function value,element 只能輸入中文 這個方法裡有三個引數,第乙個是校驗規則的名字,第二個是校驗方法,返回布林型別,...

springboot自定義自己的starter

我這裡模擬的是乙個spring整合lettuce來操作redis的start 1.spring boot start 空專案,pom中引入了autoconfiguraton專案 2.spring boot autoconfiguraton 具體邏輯,暴露功能 將被 configurationprop...