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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

PCL的PNG文件和计算点云重心

發布時間:2023/11/27 生活经验 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PCL的PNG文件和计算点云重心 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
PCL提供節約一點云的值為一個PNG圖像文件的可能方案。顯然,這只能用有序的點云來完成,因為生成的圖像的行和列將與點云的對應完全一致。例如,如果你從一個傳感器Kinect或Xtion的點云,你可以用這個來檢索640x480 RGB圖像匹配的點云。

就是將點云文件PCD保存成PNG文件,程序如下

#include <pcl/io/pcd_io.h>
#include <pcl/io/png_io.h>int
main(int argc, char** argv)
{// 創建點云對象pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGB>);// 讀取點云文件if (pcl::io::loadPCDFile<pcl::PointXYZRGB>(argv[1], *cloud) != 0){return -1;}// 保存圖片,(必須為有序點云)pcl::io::savePNGFile("output.png", *cloud, "rgb");
}

那么這里的實驗結果是根據我之前使用的用kinect獲得的點云數據,他的點云可視化效果如下

保存為PNG的結果為

如果省略參數,函數將默認保存RGB域。

(2)計算點云重心

?點云的重心是一個點坐標,計算出云中所有點的平均值。你可以說它是“質量中心”,它對于某些算法有多種用途。如果你想計算一個聚集的物體的實際重心,記住,傳感器沒有檢索到從相機中相反的一面,就像被前面板遮擋的背面,或者里面的。只有面對相機表面的一部分。

#include <pcl/io/pcd_io.h>
#include <pcl/common/centroid.h>#include <iostream>int
main(int argc, char** argv)
{// 創建點云的對象pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);// 讀取點云if (pcl::io::loadPCDFile<pcl::PointXYZ>(argv[1], *cloud) != 0){return -1;}// 創建存儲點云重心的對象
    Eigen::Vector4f centroid;pcl::compute3DCentroid(*cloud, centroid);std::cout << "The XYZ coordinates of the centroid are: ("<< centroid[0] << ", "<< centroid[1] << ", "<< centroid[2] << ")." << std::endl;
}

這樣就可以計算出點云的XYZ三個軸的重心的坐標值

?簡單的程序演示,大神請忽略,

微信公眾號號可掃描二維碼一起共同學習交流

總結

以上是生活随笔為你收集整理的PCL的PNG文件和计算点云重心的全部內容,希望文章能夠幫你解決所遇到的問題。

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