3維Harris角點提取pcl實現

2021-09-05 12:21:09 字數 1119 閱讀 2510

harris響應一般是用在二維影象上的,用來尋找影象上的角點,演算法見上一節描述,如何將二維擴充套件到三維呢,博主看的還不是很清楚,但是大致是這樣的,對於空間上的某乙個點,進行乙個半徑r的搜尋,對於區域內的點進行pca重新確定它的主方向,我個人理解是相當於確定新的x和y方向,這樣就可以模擬到平面了,雖然會丟失乙個維度,但是沒有關係啊,對於最後乙個維度,我們認為是該點擬合的x,y平面的法線方向,這也是十分平凡的,因為三個向量互相垂直。

#include #include #include #include #include #include #include #include using namespace std;

using namespace std;

int main(int argc, char** argv)

pcl::visualization::pointcloudcolorhandlercustomharris_color_handler(cloud_harris_ptr, 0, 255, 0);//第乙個引數型別為 指標

viewer->addpointcloud(cloud_harris_ptr, harris_color_handler, "harris");//第乙個引數型別為 指標

viewer->setpointcloudrenderingproperties(pcl::visualization::pcl_visualizer_point_size, 5, "harris");

while (!viewer->wasstopped())

system("pause");

return 0;

}

它的引數設定主要在設定搜尋半徑和閾值上面,不得不承認,不看**真的很難調這兩個引數,所以建議大家還是以後盡量多看**比較好。

還有乙個需要注意的是

while (!viewer->wasstopped())

{viewer->spinonce(100);

這個主要是我們視覺化的時候需要它不停的重新整理,這樣才可以顯示,沒有這個視覺化介面會出不來。。。

該大家看下結果把,還是很有意思的

harris 檢測角點

主要是使用函式 cv exports w void goodfeaturestotrack inputarray image,輸入影象 outputarray corners,角點數 int maxcorners,最大角點數 double qualitylevel,最大最小特徵值乘法因子 doubl...

區域檢測 Harris角點

文章首發 xmoon.info 對於影象處理時經常需要提取特徵點分析結構,將 進行拼接,實現全景拍攝,那麼在 特徵點提取時所採用的具體演算法是什麼呢?提取特徵點 匹配特徵點 使用ransac方法將兩張的對應的特徵點轉換的方式擬合出來,在對採用相同的轉換方式進行轉換,在進行拼接 可重複性 在一張圖可以...

點雲Harris特徵提取

harris3d filtering build table scene lms400 inliers.pcd include 標準輸入輸出流 include include pcl的pcd格式檔案的輸入輸出標頭檔案 include include 關鍵點檢測 include include inc...