欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Visual?Studio?2022?配置?PCL?1.12.1?的問題小結(jié)

 更新時間:2022年08月12日 10:01:24   作者:ice_千秋  
這篇文章主要介紹了Visual?Studio?2022?配置?PCL?1.12.1?的經(jīng)驗總結(jié)分享,本文通過圖文實例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、聲明

個人目的是運用點云pcl,所以沒有太深入,而且這僅僅只是我在安裝過程中的一些經(jīng)驗總結(jié),包括了一些需要注意的地方,以及個人覺得不錯的教程推薦,如果有什么錯誤(當(dāng)然都是自己新機操作實踐過沒有問題的)、不足還請多多包涵,不吝賜教(另外所有網(wǎng)盤的分享都不用去記或者copy提取碼,自動填充的~)

1.1一些pcd文件分享

網(wǎng)站分享
1、

2、

點擊zip文件就會自動下載,文件夾里面還有zip文件
3、

網(wǎng)盤分享
鏈接: https://pan.baidu.com/s/1LTI1Szx5sRrArnBnOUQyRQ  提取碼: j5pa 
里面是上面網(wǎng)站中下載的,但是不全,后續(xù)或許會慢慢補上

單純后面示例代碼需要的rabbit.pcd

文件鏈接: https://pan.baidu.com/s/1unNJU9wA6rXP1jZqoXGkVg   提取碼: bydj

二、初步操作

安裝Visual Studio 和PCL

2.1安裝pcl,OpenNI2:

各種教程里面這都很好,就不贅述了,當(dāng)然,這里也給出一個個人認(rèn)為不錯的

win10系統(tǒng)VS2019配置點云庫PCL1.12.1的教程與經(jīng)驗總結(jié)

PCL 1.12.1需要下載的文件

鏈接: https://pan.baidu.com/s/1f5XxRnpywRvGahLQhykTgg   提取碼: c6wk

2.2環(huán)境變量:

環(huán)境變量添加以下路徑:

個人在使用目前沒毛病
D:\PCL 1.12.1\bin
D:\PCL 1.12.1\3rdParty\VTK\bin
D:\PCL 1.12.1\3rdParty\FLANN\bin
D:\PCL 1.12.1\3rdParty\Qhull\bin
D:\PCL 1.12.1\3rdParty\Boost\lib
D:\PCL 1.12.1\3rdParty\OpenNI2\Tools
D:\PCL 1.12.1\3rdParty\OpenNI2\Redist

安裝完pcl會有這幾個

于是就有如下另外一種添加方法:

%PCL_ROOT%\bin
%PCL_ROOT%\3rdParty\VTK\bin
%PCL_ROOT%\3rdParty\FLANN\bin
%PCL_ROOT%\3rdParty\Qhull\bin
%PCL_ROOT%\3rdParty\OpenNI2\Tools
%OPENNI2_REDIST64%
%OPENNI2_LIB64%
%OPENNI2_INCLUDE64%

環(huán)境變量的修改教程里面也是有不同,本人也不是很懂┭┮﹏┭┮

第二種添加方法就是(一點個人見解,不排除錯誤的可能)
1、 D:\PCL 1.12.1\3rdParty\OpenNI2\Redist替換成 %OPENNI2_REDIST64%
2、D:\PCL 1.12.1 替換成__%PCL_ROOT%__
3、也就是用上面圖片里面的替換 變量

配置了系統(tǒng)環(huán)境變量后不會出現(xiàn) 找不到 .dll文件 的問題,并不需要在Visual Studio中執(zhí)行打開屬性頁,選擇配置屬性 -> 調(diào)試 -> 環(huán)境,粘貼下面環(huán)境這一操作(值得注意的是,pcl的配置是可以永久配置的,但是永久配置的時候并沒有以上在Visual Studio中配置環(huán)境的地方 (或許是有,但是我目前沒有看到┭┮﹏┭┮)

PATH=$(PCL_ROOT)\bin;$(PCL_ROOT)\3rdParty\FLANN\bin;$(PCL_ROOT)\3rdParty\VTK\bin;$(PCL_ROOT)\Qhull\bin;$(PCL_ROOT)\3rdParty\OpenNI2\Tools;$(PATH)

三、Visual Studio中的操作

需要 永久配置 \color{RED}{永久配置} 永久配置的可以先看看一下兩個鏈接(看一個也行,看個人喜好視頻還是文字),然后再去進行配置:

視頻教程

博客教程

其中的核心點就是在屬性管理器操作。

注意 \color{RED}{注意} 注意:可能在永久配置的時候屬性管理器界面沒有Microsoft.Cpp.x64.user,可以從下面下載,然后放到文件夾里面,路徑在下面

C:\Users\用戶名\AppData\Local\Microsoft\MSBuild\v4.0//該文件的C盤地址

想要在C盤里面找到需要有如下操作:

鏈接: https://pan.baidu.com/s/1Bq7XECsM7Kka4zN37bs7lw    提取碼: 6ie7
安裝好之后機會在上面的目錄下找到了,Visual Studio里面也會有了

3.1包含目錄:

和后面的庫目錄相同的是,主要是看**D:\PCL 1.12.1(我的pcl安裝目錄)**后面的內(nèi)容

如下是1.12.1版本的包含目錄:

D:\PCL 1.12.1\3rdParty\Eigen\eigen3
D:\PCL 1.12.1\3rdParty\FLANN\include
D:\PCL 1.12.1\3rdParty\VTK\include\vtk-9.1
D:\PCL 1.12.1\3rdParty\Qhull\include
D:\PCL 1.12.1\include\pcl-1.12
D:\PCL 1.12.1\3rdParty\Boost\include\boost-1_78
D:\PCL 1.12.1\3rdParty\OpenNI2\Include

3.2 庫目錄:

如下是1.12.1版本的庫目錄:

D:\PCL 1.12.1\3rdParty\Boost\lib
D:\PCL 1.12.1\3rdParty\FLANN\lib
D:\PCL 1.12.1\3rdParty\OpenNI2\Lib
D:\PCL 1.12.1\3rdParty\Qhull\lib
D:\PCL 1.12.1\3rdParty\VTK\lib
D:\PCL 1.12.1\lib

3.3 附加依賴項:

參考以下鏈接自己獲取依賴項,當(dāng)然,各種教程里面都會有對應(yīng)版本需要的依賴項,在此就不給出具體的了

VS中PCL庫附加依賴項配置
當(dāng)然上面最開始的鏈接里面也有自己獲取的方法

3.4 預(yù)處理器定義:

這部分在最開始給出的教程鏈接里面沒有,但是個人沒有配置之前運行程序是走不通的,但是各種教程里面給出的預(yù)處理器定義也不盡相同(我也不懂其中奧妙┭┮﹏┭┮)以下采用一個片段即可

個人正在用的,目前測試能行
BOOST_USE_WINDOWS_H
NOMINMAX
_CRT_SECURE_NO_DEPRECATE

_SCL_SECURE_NO_WARNINGS
_CRT_SECURE_NO_WARNINGS

_CRT_SECURE_NO_WARNINGS
_SCL_SECURE_NO_WARNINGS
_SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING

_CRT_SECURE_NO_WARNINGS
BOOST_ALL_NO_LIB
BOOST_USE_WINDOWS_H
NOMINMAX
_SCL_SECURE_NO_WARNINGS
_SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING

3.5 SDL檢查

SDL檢查改為否

(單獨做一個標(biāo)題空著不太好看,哈哈)

3.6 測試代碼

3.6.1 一個不需要點云文件的(官方給出的實例):

#include <iostream>
#include <pcl/point_types.h>
#include <pcl/filters/passthrough.h>
 
int
 main (int argc, char** argv)
{
  pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
  pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered (new pcl::PointCloud<pcl::PointXYZ>);
 
  // Fill in the cloud data
  cloud->width  = 5;
  cloud->height = 1;
  cloud->points.resize (cloud->width * cloud->height);
 
  for (std::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 filtering: " << std::endl;
  for (std::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 the filtering object
  pcl::PassThrough<pcl::PointXYZ> pass;
  pass.setInputCloud (cloud);
  pass.setFilterFieldName ("z");
  pass.setFilterLimits (0.0, 1.0);
  //pass.setFilterLimitsNegative (true);
  pass.filter (*cloud_filtered);
 
  std::cerr << "Cloud after filtering: " << std::endl;
  for (std::size_t i = 0; i < cloud_filtered->points.size (); ++i)
    std::cerr << "    " << cloud_filtered->points[i].x << " " 
                        << cloud_filtered->points[i].y << " " 
                        << cloud_filtered->points[i].z << std::endl;
 
  return (0);
}

運行結(jié)果:

3.6.2 一個需要點云文件的(直接將pcd文件放在工作目錄下或許更方便):

#include<pcl/visualization/cloud_viewer.h>
#include<iostream>//標(biāo)準(zhǔn)C++庫中的輸入輸出類相關(guān)頭文件。
#include<pcl/io/io.h>
#include<pcl/io/pcd_io.h>//pcd 讀寫類相關(guān)的頭文件。
#include<pcl/io/ply_io.h>
#include<pcl/point_types.h> //PCL中支持的點類型頭文件。

int main()
{
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new 	pcl::PointCloud<pcl::PointXYZ>);
	char strfilepath[256] = "rabbit.pcd";//將這個改成自己的pcd文件就可以
	if (-1 == pcl::io::loadPCDFile(strfilepath, *cloud)) //打開點云文件
	{
		std::cout << "error input!" << std::endl;
		return -1;
	}
	std::cout << cloud->points.size() << std::endl;
	pcl::visualization::CloudViewer viewer("Cloud Viewer");     //創(chuàng)建viewer對象
	viewer.showCloud(cloud);
	system("pause");
	return 0;
}

運行結(jié)果(三個窗口,其中一個如下):

四、最后

如果有不足或者錯誤(關(guān)于錯誤:以上的都是自己新機操作實踐過沒有問題的,應(yīng)該不會有什么錯誤),還請指正。

到此這篇關(guān)于Visual Studio 2022 配置 PCL 1.12.1 的經(jīng)驗總結(jié)分享的文章就介紹到這了,更多相關(guān)Visual Studio 2022 配置 PCL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談C++11新引入的lambda表達(dá)式

    淺談C++11新引入的lambda表達(dá)式

    Lambda表達(dá)式(又稱Lambda函數(shù),英文原文是Lambda Expression),是C++11的新特性中非常實用的一個。
    2017-07-07
  • C++?Boost?CircularBuffer算法超詳細(xì)精講

    C++?Boost?CircularBuffer算法超詳細(xì)精講

    Boost是為C++語言標(biāo)準(zhǔn)庫提供擴展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進程的開發(fā)引擎之一,是為C++語言標(biāo)準(zhǔn)庫提供擴展的一些C++程序庫的總稱
    2022-11-11
  • C++類型轉(zhuǎn)換的深入總結(jié)

    C++類型轉(zhuǎn)換的深入總結(jié)

    這篇文章主要給大家介紹了關(guān)于C++類型轉(zhuǎn)換的深入總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • C語言線性表的順序表示與實現(xiàn)實例詳解

    C語言線性表的順序表示與實現(xiàn)實例詳解

    這篇文章主要介紹了C語言線性表的順序表示與實現(xiàn)實例詳解,對于學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的朋友很有參考借鑒價值,需要的朋友可以參考下
    2014-07-07
  • C語言基于EasyX庫實現(xiàn)有圖形界面時鐘

    C語言基于EasyX庫實現(xiàn)有圖形界面時鐘

    這篇文章主要為大家詳細(xì)介紹了C語言基于EasyX庫實現(xiàn)有圖形界面時鐘,獲得本地時間,輸出文字,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++內(nèi)存模型和名稱空間詳解

    C++內(nèi)存模型和名稱空間詳解

    這篇文章主要給大家介紹了關(guān)于C/C++中的內(nèi)存模型和名稱空間詳解,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用c/c++具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起看看吧
    2021-09-09
  • c++超細(xì)致講解引用

    c++超細(xì)致講解引用

    在我們?nèi)粘5纳钪忻總€人都或多或少存在一個"外號",例如《西游記》中孫悟空就有諸多外號:美猴王,孫行者,齊天大圣等等。那么在C++中,也可以給一個已經(jīng)存在的變量取別名,這就是引用。那么接下來深入來探討一下引用
    2022-05-05
  • Embarcadero?Dev-C++輸出中文亂碼問題圖文詳解

    Embarcadero?Dev-C++輸出中文亂碼問題圖文詳解

    Dev-C++(或者叫做 Dev-Cpp)是Windows環(huán)境下的一個輕量級C/C++ 集成開發(fā)環(huán)境(IDE),下面這篇文章主要給大家介紹了關(guān)于Embarcadero?Dev-C++輸出中文亂碼問題的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • VC中SDK與MFC的區(qū)別淺析

    VC中SDK與MFC的區(qū)別淺析

    這篇文章主要介紹了VC中SDK與MFC的區(qū)別淺析,需要的朋友可以參考下
    2014-07-07
  • C語言rand和srand函數(shù)使用方法介紹

    C語言rand和srand函數(shù)使用方法介紹

    rand()函數(shù)用來產(chǎn)生隨機數(shù),但是,rand()的內(nèi)部實現(xiàn)是用線性同余法實現(xiàn)的,是偽隨機數(shù),由于周期較長,因此在一定范圍內(nèi)可以看成是隨機的。srand()用來設(shè)置rand()產(chǎn)生隨機數(shù)時的隨機數(shù)種子。參數(shù)seed是整數(shù),通??梢岳胻ime(0)或geypid(0)的返回值作為seed
    2023-02-02

最新評論