記得2018年9月底寫了一篇關於cloudcompare開發的博文,當前也屬於我全部博文裏訪問量最高的一篇博文,也不知道碼迷是個什麼網站,簡單粗暴的轉載了個人這篇博客,本着資源共享的精神,姑且也沒必要在乎這些了,就當作是一種推廣吧!記得以前有些網友對博文裏的一些未知的接口進行了詢問,原本個人博客打算中止更新的,由於目前已經脫離學校了,再很難有剩餘的時間來研究這些了。不過感受這些基本的入門知識對每個新人來講仍是挺有用的,本身當年也是過來人,深有體會,今天 是我2018年農曆年的最後一篇博客也是我2019年的第一篇博客。函數
感受個人博客好像要慢慢變成心靈雞湯了,正逢春節小長假又是新年伊始,此情此景,我又不由自主的抒發我的感悟了: 網站
一天又一天,一年又一年,轉眼間到了2018農曆新年,也已經工做半年有餘。雖然不具有詩人那種不吃煙火食的氣質與驚世駭俗的才華,可是詩人的那份多愁善感已經具有10多年之久,不知道爲了什麼而學了理科,也不知道爲何還學了測繪,最後步入了與文藝氣息徹底水火不容的碼農行列(其實我的一直以爲社會科學的力量大於天然科學,就像歐洲文藝復興同樣),其實當文藝真成爲了一種職業,若是其沒法讓你立足於這個社會,估計你也會質疑它,甚至是唾棄,夢想造就美好生活的前提是夢想尚未在現實面前輸的一乾二淨,不斷給本身從新定位顯得彌足珍貴。其實也得感謝本身一路稀裏糊塗的選擇以及本身所秉持着的努力踏實的家庭教育,這樣至少當前能把文藝當成愛好,同時也不至於餓死街頭,其實我之前以爲作你愛作的工做,而後就能開開心心的幹好它,經歷了半年的工做之後,其實這只是烏托邦,當今社會處於一個變革的時代,人們對物質的依賴程度徹底超越了過往任何一個時期,因此不少人都是拿出至少120%的熱情在努力工做,預想在一個舉目無親的城市裏生存下來,甚至是體面的活着,你除了拿出至少超越120%的努力,那剩下的你還能有什麼能夠做爲資本呢?彈簧超過了彈性限度,那一切又會歸於無止盡的平淡,無止盡的平淡那就天然而然衍生出了枯燥甚至是苦悶。其實想通以後,這樣就釋然多了:不是你一我的累,萬千有理想的年輕人都過得很累,其實我之前特別喜歡嚴復天演論裏的一句話: 「世間萬物,優勝者生存,國家民族亦如此,今我中華民族若不奮起,必將被人類歷史所淘汰」。(不知道是否是書裏的原話,但至少是這本書的中心思想),雖然用在這裏有點不合時宜,可是國家民族如此,做爲芸芸衆生中眇小的我的更是如此了,這也是我3年前的座右銘,不過如今不須要了,由於生活的艱辛早已深刻骨髓了,因此刻骨銘心的道理是不須要刻意去時刻來警醒本身的,若是天天都滿懷這種憂患意識,那活的豈不是很累,因此我如今才明白了什麼是真正的內在了,其實當你爲某件事不懈奮鬥的時候,你會在不自覺中練就達到這種目標的人格素質,就像明天都是除夕了,今天我忽然想起了還有一篇技術博客沒寫(以前承諾過一位網友),固然這幾天也會偶爾琢磨以前一直在研究的lod技術,可是之前的我能無所事事整整一個假期,靠着遊戲裏的角色獲取所謂的成就感,如今的我也算是一種成長吧。(在此聲明:本技術博客更多的是我的人生感悟以及旨在鼓勵那些像我同樣還在貧困線上苦苦掙扎的草根們,一切物質化的東西都將經不起時間的推敲,一切都須要腳踏實地,滿足常樂。)接口
廢話 到此爲止,愛看的能夠看看,不愛看的,直接能夠步入下面正題(畢竟是技術博客)遊戲
該段代碼直接來源於我cc平臺裏的代碼,直接可用。資源
//----------------------ccCloud轉pointcloud---------------------開發
//cccloud轉換成pcl的pointcloud --- rgbget
void CCcloudToPCLcloud(ccPointCloud* m_cloud, PointCloud<pcl::PointXYZRGB>::Ptr pclCloud)博客
{入門
int num = m_cloud->size();ast
for (int i = 0; i < num; i++)
{
PointXYZRGB pointT;
pointT.x = (m_cloud->getPoint(i))->x;
pointT.y = (m_cloud->getPoint(i))->y;
pointT.z = (m_cloud->getPoint(i))->z;
if (m_cloud->getPointColor(i)[0] != NULL)
{
pointT.r = (m_cloud->getPointColor(i))[0];
pointT.g = (m_cloud->getPointColor(i))[1];
pointT.b = (m_cloud->getPointColor(i))[2];
}
pclCloud->push_back(pointT);
}
}
//cccloud轉換成pcl的pointcloud no rgb--重載一下這個函數
void CCcloudToPCLcloud(ccPointCloud* m_cloud, PointCloud<pcl::PointXYZ>::Ptr pclCloud)
{
int num = m_cloud->size();
for (int i = 0; i < num; i++)
{
PointXYZ pointT;
pointT.x = (m_cloud->getPoint(i))->x;
pointT.y = (m_cloud->getPoint(i))->y;
pointT.z = (m_cloud->getPoint(i))->z;
pclCloud->push_back(pointT);
}
}
//----------------------pointCloud轉ccCloud---------------------
void PCLcloudToCCcloud(PointCloud<pcl::PointXYZRGB>::Ptr pclCloud, ccPointCloud* m_cloud)
{
int num = pclCloud->points.size();
m_cloud->reserve(static_cast<unsigned>(num));
for (int i = 0; i < num; i++)
{
CCVector3 P11(pclCloud->points[i].x, pclCloud->points[i].y, pclCloud->points[i].z);
m_cloud->addPoint(P11);
ccColor::Rgb rgb;//定義一個顏色
if (pclCloud->points[0].r <= 1 && pclCloud->points[0].g <= 1)
{
rgb = ccColor::Rgb(pclCloud->points[i].r*255, pclCloud->points[i].g*255, pclCloud->points[i].b*255);
}
else
{
rgb = ccColor::Rgb(pclCloud->points[i].r, pclCloud->points[i].g, pclCloud->points[i].b);
}
m_cloud->resizeTheRGBTable(true);
m_cloud->setPointColor(i, rgb.rgb);
}
}
//無色的cccloud ---重載一下這個函數
void PCLcloudToCCcloud(PointCloud<pcl::PointXYZ>::Ptr pclCloud, ccPointCloud* m_cloud)
{
int num = pclCloud->points.size();
m_cloud->reserve(static_cast<unsigned>(num));
for (int i = 0; i < num; i++)
{
CCVector3 P11(pclCloud->points[i].x, pclCloud->points[i].y, pclCloud->points[i].z);
m_cloud->addPoint(P11);
}
}
//------------------------結束-----------------------------------