WIN10+VS2015環境下安裝PCL1.8.1
阿新 • • 發佈:2019-01-12
from:https://blog.csdn.net/uniqueyyc/article/details/79245009
安裝過程中會彈出下面視窗,安裝openin的時候選擇PCL安裝路徑下的3rdParty資料夾下面。
2、配置環境變數
可能已經自動生成,最好檢查一下
手動向path新增如下路徑:
3、關鍵——vs配置
新建win32控制檯應用程式,“確定”,選擇“空專案”,點選“完成”
開啟‘屬性管理器’——點選‘新增現有屬性表’,新增成功後,會多出一個PCL檔案。注意圖中“Debug”我要選擇64位(x64)。
新增現有屬性表,請下載屬性表props檔案進行新增: https://download.csdn.net/my
“
開啟PCL檔案,左側欄選擇VC++目錄,右側選擇包含目錄,根據自己的安裝路徑進行修改;選擇庫目錄,把安裝路徑修改成你急安裝的路徑,D:\PCL 1.8.1\3rdParty\OpenNI2\Lib(這個路徑下是沒有lib檔案的)這個路徑需要修改為D:\PCL 1.8.1\3rdParty\Lib(請自己核對)
新建一個原始檔,驗證是否配置完畢。
#include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> #include <pcl/ModelCoefficients.h> #include <pcl/filters/project_inliers.h> int main(int argc, char** argv) { pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_projected(new pcl::PointCloud<pcl::PointXYZ>); // Fill in the cloud data cloud->width = 5; cloud->height = 1; cloud->points.resize(cloud->width * cloud->height); for (size_t i = 0; i < cloud->points.size(); ++i) { cloud->points[i].x = 1024 * rand() / (RAND_MAX + 1.0f); cloud->points[i].y = 1024 * rand() / (RAND_MAX + 1.0f); cloud->points[i].z = 1024 * rand() / (RAND_MAX + 1.0f); } std::cerr << "Cloud before projection: " << std::endl; for (size_t i = 0; i < cloud->points.size(); ++i) std::cerr << " " << cloud->points[i].x << " " << cloud->points[i].y << " " << cloud->points[i].z << std::endl; // Create a set of planar coefficients with X=Y=0,Z=1 pcl::ModelCoefficients::Ptr coefficients(new pcl::ModelCoefficients()); coefficients->values.resize(4); coefficients->values[0] = coefficients->values[1] = 0; coefficients->values[2] = 1.0; coefficients->values[3] = 0; // Create the filtering object pcl::ProjectInliers<pcl::PointXYZ> proj; proj.setModelType(pcl::SACMODEL_PLANE); proj.setInputCloud(cloud); proj.setModelCoefficients(coefficients); proj.filter(*cloud_projected); std::cerr << "Cloud after projection: " << std::endl; for (size_t i = 0; i < cloud_projected->points.size(); ++i) std::cerr << " " << cloud_projected->points[i].x << " " << cloud_projected->points[i].y << " " << cloud_projected->points[i].z << std::endl; system("pause"); return (0); }
執行,可能會出錯:
解決方法是:開啟屬性管理器——常規,將SDL檢查設定為“否”。
執行結果: