pcl畫圓球 基於PCL繪製模型並渲染

2021-10-22 10:49:12 字數 2657 閱讀 3645

前言

拋開演算法層面不談,要利用pcl庫中pclvisualizer視覺化類,顯示出不同模型並對模型做出不同渲染,製作出豐富的視覺化效果以增強自己應用的功能。下面將對如何新增立方體模型和圓球模型到視窗並渲染進行乙個大概描述。

立方體模型

//向視窗新增乙個立方體模型並渲染,只顯示線框。若不要顯示線框將下面一行**注釋即可。

viewer->addcube(0.1, 0.2, 0.1, 0.2, 0.1, 0.2);

viewer->setshaperenderingproperties(pcl::visualization::pcl_visualizer_representation, pcl::visualization::pcl_visualizer_representation_wireframe,"cube");

pcl docs

bool addcube (const pcl::modelcoefficients &coefficients, const std::string &id="cube", int viewport=0)

bool addcube (const eigen::vector3f &translation, const eigen::quaternionf &rotation, double width, double height, double depth, const std::string &id="cube", int viewport=0)

bool addcube (float x_min, float x_max, float y_min, float y_max, float z_min, float z_max, double r=1.0, double g=1.0, double b=1.0, const std::string &id="cube", int viewport=0)

圓球模型

//向視窗新增乙個立方體模型並渲染,透明顯示。若不要透明顯示將下面一行**注釋即可。

viewer->addsphere(cloud->points.at(0), 0.1, 1, 1, 1);

viewer->setshaperenderingproperties(pcl::visualization::pcl_visualizer_opacity, 0.3, "sphere");

圓球模型

#include"eigen/core"

//繞z軸旋轉15°

eigen::angleaxisf rotation_vector(m_pi / 4, eigen::vector3f(0, 0, 1));

_viewer->addcube(eigen::vector3f(16.4842, 11.3017, 0), eigen::quaternionf(rotation_vector),1.3,1.0,1.1,"cube2");

_viewer>setshaperenderingproperties(pcl::visualization::pcl_visualizer_representation, pcl::visualization::pcl_visualizer_representation_wireframe, "cube2");

//移除shape

_viewer->removeshape("cube2");

pcl docs

bool addsphere (const pointt ¢er, double radius, double r, double g, double b, const std::string &id="sphere", int viewport=0)

bool addsphere (const pcl::modelcoefficients &coefficients, const std::string &id="sphere", int viewport=0)

bool addsphere (const pointt ¢er, double radius, const std::string &id="sphere", int viewport=0)

渲染模式

pcl docs

//set the rendering properties of a shape

bool setshaperenderingproperties (int property, double value, const std::string &id, int viewport=0)

//set the rendering properties of a shape (2x values - e.g., lut minmax values)

bool setshaperenderingproperties (int property, double val1, double val2, const std::string &id, int viewport=0)

//set the rendering properties of a shape (3x values - e.g., rgb)

bool setshaperenderingproperties (int property, double val1, double val2, double val3, const std::string &id, int viewport=0)

渲染引數說明

pcl畫圓球 基於PCL繪製模型並渲染

前言 拋開演算法層面不談,要利用pcl庫中pclvisualizer視覺化類,顯示出不同模型並對模型做出不同渲染,製作出豐富的視覺化效果以增強自己應用的功能。下面將對如何新增立方體模型和圓球模型到視窗並渲染進行乙個大概描述。立方體模型 向視窗新增乙個立方體模型並渲染,只顯示線框。若不要顯示線框將下面...

pcl畫圓球 PCL之軌跡繪製(二)

之前學習點雲庫做一些簡單的應用都是直接複製demo的 然後把匯入檔案改一下,今天嘗試自己寫一些程式,結果錯漏百出,難受的早上,不過堅持了下來,求誇 這個主要是乙個簡單的繪製軌跡的教程,繪製軌跡只需要兩個東西,旋轉 和平移 只要我們能夠得到這兩個東西,再結合初始座標點,利用點雲庫裡面的visualiz...

基於PCL繪製模型並渲染

部落格 自 拋開演算法層面不談,要利用pcl庫中pclvisualizer視覺化類,顯示出不同模型並對模型做出不同渲染,製作出豐富的視覺化效果以增強自己應用的功能。下面將對如何新增立方體模型和圓球模型到視窗並渲染進行乙個大概描述。立方體模型 向視窗新增乙個立方體模型並渲染,只顯示線框。若不要顯示線框...