1. 程式人生 > >WIN10+VS2015環境下安裝PCL1.8.1

WIN10+VS2015環境下安裝PCL1.8.1

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檢查設定為“否”。

執行結果: