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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

pcl画圆球_PCL之轨迹绘制(二)

發布時間:2025/3/11 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pcl画圆球_PCL之轨迹绘制(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

之前學習點云庫做一些簡單的應用都是直接復制demo的代碼,然后把導入文件改一下,今天嘗試自己寫一些程序,結果錯漏百出,難受的早上,不過堅持了下來,求夸~~~

這個主要是一個簡單的繪制軌跡的教程,繪制軌跡只需要兩個東西,旋轉R和平移T,只要我們能夠得到這兩個東西,再結合初始坐標點,利用點云庫里面的Visualization模塊中的addLine函數就可以實現軌跡的繪制了。

這里為了簡單,我們直接采用模擬的數據以及模擬的旋轉矩陣。先一步一步講解流程,最后再附上源碼~~

1.生成點云數據

```c++  //為了方便,我們在這里只生成一個點

pcl::PointCloud::Ptr cloud1(new pcl::PointCloud);

cloud1->width = 1;

cloud1->height = 1;

cloud1->points.resize(cloud1->width * cloud1->height);

cloud1->points[0].x = 1;

cloud1->points[0].y = 1;

cloud1->points[0].z = 1;

cout << "cloud1 size " << cloud1->points.size()<

2.模擬生成旋轉矩陣

2.模擬生成旋轉矩陣

```c++

//模擬一個旋轉矩陣,為了簡單,這里只是用一個,每次迭代都使用這個矩陣,效果是x方向一次增加1個單位長度

//我們知道旋轉矩陣形式如下[ R t

0 1] 下一篇文章會講解一下這些的由來

Eigen::Matrix4f transform_1 ;

transform_1 << 1 , 0 , 0 , 1 ,

0 , 1 , 0 , 0 ,

0 , 0 , 1 , 0 ,

0 , 0 , 0 , 1 ;

cout << transform_1 <

3.接下來會用來 Register模塊中的transforms函數來實現點的轉變

```c++ //將矩陣進行變化

pcl::PointCloud::Ptr cloud2(new pcl::PointCloud);

pcl::transformPointCloud (cloud1, cloud2, transform_1);

cout << "original cloud1 points "<< cloud1->points[0].x<

cout<

吐槽:不知道為啥B乎每次都把我們格式弄壞了。。。

4.最后會用到Visualization模塊中的PCLVisualizer類顯示窗口

pcl::visualization::PCLVisualizer::Ptr viewer(new pcl::visualization::PCLVisualizer ("3D Viewer"));

viewer->setBackgroundColor (0, 0, 0);

viewer->addText("Trajector", 10, 10, "v1 text");

viewer->addCoordinateSystem (1.0);

viewer->initCameraParameters ();

int line_numeber = 0;

char str[25];//這一個的作用是為了下面給每條線段 1 個唯一的id符,不然的畫只能畫出一條線

while(!viewer->wasStopped()){

viewer->spinOnce (1000);//這一句很重要,一開始沒有寫這一句,導致窗口一直沒有顯示,用于更新屏幕

line_numeber++;//依次增加,從而實現id號的不同

sprintf(str, "%d", line_numeber);//將數字轉化為字符串,addLine需要,addLine函數定義在下面

viewer->addLine<:pointxyz> (cloud1->points[0], cloud2->points[0], str);

*cloud1 = *cloud2;//將上一步的點云給另外一個

pcl::transformPointCloud (*cloud1, *cloud2, transform_1);

//cout語句用于測試

cout << "cloud1 points "<< cloud1->points[0].x<points[0].y <points[0].z<

cout << "cloud1 points "<< cloud2->points[0].x<points[0].y <points[0].z<

cout<

}

5.最后把頭文件給你就組成完整的程序了

#include

#include

#include #include //這兩個std文件沒有作用,因為一開始想用到itoa(),將整形轉化為字符的函數,后來發現這

#include //這個函數只有在window下面才存在

using namespace std;

注意點:

1.void pcl::visualization::PCLVisualizer::spinOnce(int time =1 ; bool force_redraw = false )

Spin once method.

Calls the interactor and updates the screen once.Parameters

[in] time- How long (in ms) should the visualization loop be allowed to run.

[in] force_redraw- if false it might return without doing anything if the interactor's framerate does not require a redraw yet.

while(!viewer->wasStopped()){

// viewer->spinOnce (100); }

viewer->spinOnce (100);一定要加這一句,否則什么現象也沒有

2.bool pcl::visualization::PCLVisualizer::addLine(const P1 & pt1, const P2 & ptr2,const std::string& id ="line",int viewpoint = 0 )

Add a line segment from two points.Parameters

[in]pt1the first (start) point on the line

[in]pt2the second (end) point on the line

[in]idthe line id/name (default: "line")

[in]viewport(optional) the id of the new viewport (default: 0)

Note:每一條線都需要有自己的id號

總結:還是要多多自己敲代碼,復制粘貼一時爽,真定編碼火葬場~~~B乎的格式和Typora很不一樣....,還是CSDN好。

總結

以上是生活随笔為你收集整理的pcl画圆球_PCL之轨迹绘制(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: av电影网站在线观看 | 欧美日韩久久久久久 | 日韩亚洲精品在线 | 日韩 欧美 综合 | 久久99精品波多结衣一区 | 亚洲乱码一区二区三区在线观看 | 中文字幕一本 | 波多野结衣一二区 | 丰满人妻老熟妇伦人精品 | 免费在线看黄的网站 | 欧美一级夜夜爽 | 97视频总站 | 深夜福利网站在线观看 | 91最新视频 | 1000部啪啪未满十八勿入 | 中国在线观看免费高清视频播放 | 这里只有精品视频在线 | 91亚瑟 | 国产精品久久久久久久专区 | 久久久久久久久久久久久久国产 | 浪漫樱花在线观看高清动漫 | 69久久久久久 | 韩国主播青草55部完整 | 午夜在线国产 | 精品韩国一区二区三区 | 色综合图片区 | 野战少妇38p | 黄色网战在线观看 | 公侵犯人妻一区二区三区 | 欧美综合成人 | china国产乱xxxxx绿帽 | 国内激情| 无码人妻精品一区二区三区9厂 | 成人综合在线视频 | 一级片在线免费观看 | 看片国产 | 国产精彩视频一区二区 | 花房姑娘免费全集 | 影音先锋中文字幕人妻 | 麻豆影音先锋 | 欧美日韩精品在线播放 | www av | 黑人中文字幕一区二区三区 | 香蕉视频在线网站 | 激情五月深爱五月 | 国产精品无码永久免费不卡 | 伊人网综合 | 免费麻豆国产一区二区三区四区 | 91麻豆一区二区三区 | 稀缺呦国内精品呦 | 亚洲va欧美va天堂v国产综合 | 国产福利午夜 | 黄色污污网站在线观看 | 国产伦精品一区三区精东 | 极品美女无套呻吟啪啪 | 精品免费国产一区二区三区四区 | 一区二区在线视频免费观看 | 欧美激情国产日韩精品一区18 | 已婚少妇美妙人妻系列 | 免费观看黄色网址 | 成人a在线观看 | 国产成人精品一区二区无码呦 | 韩国精品av | 国内视频精品 | 成人免费黄色网址 | 99re这里只有精品首页 | 污网站免费在线 | 成人免费看 | 亚洲AV无码乱码国产精品色欲 | 中文有码在线播放 | 五月天婷婷激情视频 | 无遮挡又爽又刺激的视频 | 18岁成年人网站 | 中文在线不卡 | 亚洲激情六月 | 免费看黄色片的网站 | 欧美一区二不卡视频 | 99久久精品免费看国产四区 | 99在线免费观看视频 | 亚洲精品嫩草 | 国产在线色 | www.成人av.com| 91在线观看喷潮 | 久久亚洲AV成人无码国产人妖 | 成人在线短视频 | 亚洲天堂美女视频 | 第一毛片 | 波多野结衣之潜藏淫欲 | 性视频在线 | 亚洲国产日韩欧美在线观看 | 玖玖爱这里只有精品 | 国产成人精品免高潮在线观看 | 麻豆黄色片| www视频在线观看网站 | 欧美少妇诱惑 | 麻豆国产一区二区三区 | 国产极品视频在线观看 | 蛇女欲潮性三级 | 色吧久久|