引數模型投影

2021-10-20 06:28:16 字數 3932 閱讀 3931

#include

//io操作

#include

#include

#include

#include

#include

#include

#include

//顯示庫

#include

//簡單顯示點雲

#include

//pcl控制台解析

#include

//包含fpfh加速計算的omp(多核平行計算)

#include

//特徵的錯誤對應關係去除

#include

//隨機取樣一致性去除

#include

//icp配準

#include

//邊界提取

#include

#include

#include

#include

//#include

#include

#include

#include

#include

#include

//定義引數模型

#include

//投影

// 包含相關標頭檔案

// this function displays the help

void

showhelp

(char

* program_name)

using

namespace std;

typedef pcl::pointcloud pointcloud;

typedef pcl::pointcloud pointnormal;

typedef pcl::pointcloud fpfhfeature;

// this is the main function

intmain

(int argc,

char

** ar**)

// fetch point cloud filename in arguments | works with pcd and ply files

std::vector<

int> filenames;

bool file_is_pcd =

false

; filenames = pcl::console::

parse_file_extension_argument

(argc, ar**,

".ply");

if(filenames.

size()

!=1)else

}// load file | works with pcd and ply files

pcl::pointcloud

::ptr cloud

(new pcl::pointcloud()

);pcl::pointcloud

::ptr source

(new pcl::pointcloud()

);if(file_is_pcd)

}else

} std::cout <<

"\ncloud size is: "

<< cloud-

>

size()

<< std::endl;

//體素化

setleafsize

(0.5

,0.5

,0.5);

//網格邊長.這裡的數值越大,則精簡的越厲害(剩下的資料少)

setinputcloud

(cloud)

;filter

(*source)

; cout <<

"voxel grid filte cloud size is: "

<< source-

>

size()

<< endl;

pcl::

copypointcloud

(*source,

*cloud)

; pcl::pointcloud

::ptr source_cloud

(new pcl::pointcloud()

);// create a set of planar coefficients with x=y=0,z=1

//在這種情況下,我們使用乙個平面模型,其中ax + by + cz + d = 0,其中a = b = d = 0,c = 1,或者換句話說,xy平面。

//定義引數模型

pcl::modelcoefficients::ptr coefficients

(new pcl::

modelcoefficients()

);coefficients-

>values.

resize(4

);coefficients-

>values[1]

= coefficients-

>values[2]

=0; coefficients-

>values[0]

=1.0

; coefficients-

>values[3]

=0;// create the filtering object

pcl::projectinliers proj;

proj.

setmodeltype

(pcl::sacmodel_plane)

;//面型別

proj.

setinputcloud

(cloud)

; proj.

setmodelcoefficients

(coefficients)

;//選擇引數模型

proj.

filter

(*source_cloud)

; std::cerr <<

"cloud after projection "

<< std::endl;

pcl::visualization::pclvisualizer viewer

("view");

// 2.define r,g,b colors for the point cloud

pcl::visualization::pointcloudcolorhandlercustom

source_cloud_color

(source_cloud,0,

0,255)

; viewer.

addpointcloud

(source_cloud, source_cloud_color,

"original_cloud");

//座標系的三維軸新增到螢幕的(0, 0, 0)處

"original_cloud", 0);

viewer.

setbackgroundcolor

(0.1

,0.1

,0.1);

// setting background to a dark grey設定背景顏色,預設黑色

viewer.

setpointcloudrenderingproperties

(pcl::visualization::pcl_visualizer_point_size,1,

"original_cloud");

//渲染屬性

viewer.

setposition

(200

,100);

// setting visualiser window position視窗彈出位置

while

(!viewer.

wasstopped()

)return0;

}

引數模型與非引數模型

引數模型 非引數模型 以及半引數模型 的概念應該源自於統計學中。統計專業中有一門課程叫做 非引數統計 研究的物件就是秩檢驗 核密度估計等。在統計學中,引數模型通常假設總體 隨機變數 服從某乙個分布,該分布由一些引數確定 比如正太分布由均值和方差確定 在此基礎上構建的模型稱為引數模型 非引數模型對於總...

機器學習中引數模型和非引數模型

網上關於機器學習中的引數模型和非引數模型之間的解釋並沒有乙個完全一致的解答,有從是不是對資料的分布做了相關假設進行分析的 也有是從模型的參數量大小進行解答的 二者好像是一致的,但是個人覺得如下使用是不是對資料分布進行了假設來區分並不是特別好理解。非引數模型 non parametric model ...

ML 什麼是引數模型和非引數模型

第一次接觸這個概念是在總結lr和svm之間的區別的時候,lr是引數模型,svm是非引數模型。今天來總結一下引數模型和非引數模型。一 前言 引數模型 parametric model 和非引數模型 non parametric model 作為數理統計學中的概念,現在也常用於機器學習領域。在統計學中,...