Win 10 시스템 에서 VisualStudio 2019 설정 점 클 라 우 드 라 이브 러 리 PCL 1.11.0 의 그림 튜 토리 얼

1.다운로드 PCL 1.11.0
Github 다운로드 주소:https://github.com/PointCloudLibrary/pcl/releases
빨 간 상자 안의 두 파일 을 다운로드 하 다.
在这里插入图片描述
2.설치 PCL 1.11.0
2.1'PCL-1.11.0-AllInOne-msvc 2019-win64.exe'를 설치한다.
(1)두 번 째 를 선택 하고 시스템 변 수 를 자동 으로 추가 합 니 다.
在这里插入图片描述
(2)설치 경로 에서 D 디스크 를 선택 하면 시스템 이 PCL 1.11.0 폴 더 를 자동 으로 새로 만 듭 니 다.
在这里插入图片描述
2.2 설치 완료 후 폴 더 열기 D:\PCL 1.11.0\\3rdParty\\OpenNI 2
OpenNI-windows-x64-2.2 를 더 블 클릭 하여 경 로 를 선택(D:\PCL 1.11.0\\3rdParty\\OpenNI 2)하고 설치 하면 됩 니 다.
在这里插入图片描述
2.3 모든 설치 가 완료 되면 pcl-1.11.0-pdb-msvc 2019-win 64.zip 압축 해제 후의.pdb 파일 을(D:\PCL 1.11.0\bin)에 복사 합 니 다.
2.4 환경 변수 설정:컴퓨터 속성-고급 시스템 설정-고급-환경 변수-사용자 변수-Path-편집!
在这里插入图片描述
아래 그림 에서 보 듯 이 설정 이 완료 되면 컴퓨터 를 다시 시작 합 니 다.
在这里插入图片描述
오류 가 발생 하지 않도록 여기 서 직접 보 여 줍 니 다.(순서대로 추가)
%PCL_ROOT%\3rdParty\FLANN\bin
%PCL_ROOT%\3rdParty\VTK\bin
%OPENNI2_REDIST64%
%OPENNI2_LIB64%
%OPENNI2_INCLUDE64%
여기 서 환경 변수의 설정 이 완료 되 었 습 니 다.
3.VS 2019 관련 설정
3.1 새 빈 항목
在这里插入图片描述
솔 루 션 설정 은 Debug 를 선택 하고 솔 루 션 플랫폼 은 x64 를 선택 합 니 다.
在这里插入图片描述
3.2 C++원본 파일 새로 만 들 기
在这里插入图片描述
3.3 새로 만 든 항목-속성:속성 표 열기
在这里插入图片描述
3.4 설정 속성-디 버 깅-환경-추가:
PATH=D:\PCL 1.11.0\\bin;D:\PCL 1.11.0\\3rdParty\FLANN\bin;D:\PCL 1.11.0\\3rdParty\VTK\bin;D:\PCL 1.11.0\\3rdParty\OpenNI2\Tools
在这里插入图片描述
3.5 C/C++-언어―패턴 에 부합 되 는 지 여부
在这里插入图片描述
3.6 C/C++-일반적인 SDL 검사:여부
在这里插入图片描述
4.PCL 1.11.0 설정
사용 편 의 를 위해 속성 표를 추가 하 는 형식 을 사용 합 니 다.
4.1 보기-기타 창-속성 관리자
在这里插入图片描述
4.2 속성 관리 자 를 열 고 Debug|X64 를 선택 하 십시오.Debug|X64 왼쪽 역 삼각형 을 누 르 십시오.오른쪽 클릭 으로 추가 형 항목 속성 표를 선택 하 십시오.
在这里插入图片描述
4.3 항목 속성 표 이름
在这里插入图片描述
4.4 새로 추 가 된 속성 표-VC+디 렉 터 리-디 렉 터 리 포함,include 경로 7 개 추가
在这里插入图片描述
구체 적 으로 추 가 된 include 경 로 는 다음 과 같 습 니 다.
D:\PCL 1.11.0\include\pcl-1.11
D:\PCL 1.11.0\3rdParty\Boost\include\boost-1_73
D:\PCL 1.11.0\3rdParty\Eigen\eigen3
D:\PCL 1.11.0\3rdParty\FLANN\include
D:\PCL 1.11.0\3rdParty\Qhull\include
D:\PCL 1.11.0\3rdParty\VTK\include\vtk-8.2
D:\PCL 1.11.0\3rdParty\OpenNI2\Include
4.5 VC+디 렉 터 리-디 렉 터 리 포함,lib 경로 6 개 추가
在这里插入图片描述
구체 적 으로 추 가 된 lib 경 로 는 다음 과 같 습 니 다.
D:\PCL 1.11.0\lib
D:\PCL 1.11.0\3rdParty\Boost\lib
D:\PCL 1.11.0\3rdParty\FLANN\lib
D:\PCL 1.11.0\3rdParty\Qhull\lib
D:\PCL 1.11.0\3rdParty\OpenNI2\Lib
D:\PCL 1.11.0\3rdParty\VTK\lib
在这里插入图片描述
4.6 C/C++-예비 프로세서-예비 프로세서 정의-추가:
BOOST_USE_WINDOWS_H
NOMINMAX
_CRT_SECURE_NO_DEPRECATE
在这里插入图片描述
4.7 링크 기-추가 의존 항-PCL 과 VTK 의 관련 lib 파일 을 추가 합 니 다.내 가 쓰 는 Debug 버 전.
在这里插入图片描述
추가 의존 항목 의 구체 적 인 추가 내용 은 다음 과 같다.(내용 이 약간 많 고 PCL 1.11.0 추가 의존 항목 에 넣 었 다.글 끝 부록 에서 추가 의존 항목 을 대량으로 가 져 오 는 방법 을 제시 합 니 다)
속성 표 에 입력 할 때 lib 에 한 줄 씩 대응 해 야 성공 할 수 있 습 니 다.
디버그 버 전
4.8 속성 표 저장
在这里插入图片描述
다음 에 새 프로젝트 를 만 들 려 면 세 번 째 VS 2019 관련 설정 을 조작 한 다음 속성 관리 자 를 열 고 기 존 속성 표를 추가 하고 이전에 저 장 된 속성 표를 찾 아 추가 하면 됩 니 다.
在这里插入图片描述
在这里插入图片描述
테스트 코드

#include <iostream>
#include <vector>
#include <ctime>
#include <pcl/point_cloud.h>
#include <pcl/octree/octree.h>
#include <boost/thread/thread.hpp>
#include <pcl/visualization/pcl_visualizer.h>
using namespace std;
int
main(int argc, char** argv)
{
	srand((unsigned int)time(NULL));
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
	//       
	cloud->width = 1000;
	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.0f * rand() / (RAND_MAX + 1.0f);
		cloud->points[i].y = 1024.0f * rand() / (RAND_MAX + 1.0f);
		cloud->points[i].z = 1024.0f * rand() / (RAND_MAX + 1.0f);
	}

	pcl::octree::OctreePointCloudSearch<pcl::PointXYZ> octree(0.1);
	octree.setInputCloud(cloud);
	octree.addPointsFromInputCloud();
	pcl::PointXYZ searchPoint;
	searchPoint.x = 1024.0f * rand() / (RAND_MAX + 1.0f);
	searchPoint.y = 1024.0f * rand() / (RAND_MAX + 1.0f);
	searchPoint.z = 1024.0f * rand() / (RAND_MAX + 1.0f);

	//       
	vector<int>pointIdxRadiusSearch;
	vector<float>pointRadiusSquaredDistance;
	float radius = 256.0f * rand() / (RAND_MAX + 1.0f);
	cout << "Neighbors within radius search at (" << searchPoint.x
		<< " " << searchPoint.y
		<< " " << searchPoint.z
		<< ") with radius=" << radius << endl;
	if (octree.radiusSearch(searchPoint, radius, pointIdxRadiusSearch, pointRadiusSquaredDistance) > 0)
	{
		for (size_t i = 0; i < pointIdxRadiusSearch.size(); ++i)
			cout << "  " << cloud->points[pointIdxRadiusSearch[i]].x
			<< " " << cloud->points[pointIdxRadiusSearch[i]].y
			<< " " << cloud->points[pointIdxRadiusSearch[i]].z
			<< " (squared distance: " << pointRadiusSquaredDistance[i] << ")" << endl;
	}
	//           
	boost::shared_ptr<pcl::visualization::PCLVisualizer>viewer(new pcl::visualization::PCLVisualizer("    "));
	viewer->setBackgroundColor(0, 0, 0); //         
	//          (red).
	pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ>target_color(cloud, 255, 0, 0);
	viewer->addPointCloud<pcl::PointXYZ>(cloud, target_color, "target cloud");
	viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "target cloud");

	//            
	while (!viewer->wasStopped())
	{
		viewer->spinOnce(100);
		boost::this_thread::sleep(boost::posix_time::microseconds(1000));
	}

	return (0);
}
 
다음 그림 을 출력 합 니 다(숫자 가 다 를 수 있 습 니 다).설치 성공 을 표시 합 니 다!
在这里插入图片描述
6.부록-자신의 링크 라 이브 러 리 목록 가 져 오기
win+r"실행"창 을 내 보 내 고 cmd 를 출력 합 니 다.
입력:cd/d D:\PCL 1.11.0\3rdParty\VTK\\lib Enter(자신의 경 로 를 입력)
입력:dir/b*.lib*>0.txt 리 턴
在这里插入图片描述
이 때 길 에 대응 하 는 디 렉 터 리 를 열 고 0.txt 파일 이 하나 더 생 겼 습 니 다.이 폴 더 에 있 는 모든 링크 라 이브 러 리 이름 이 저장 되 어 있 습 니 다.
모든 Debug 버 전과 Release 버 전의 링크 라 이브 러 리 가 연결 되 어 있 기 때문이다.읽 기 문 서 를 쓰 고 각각 저장 하면 됩 니 다.
구체 적 인 코드 는 다음 과 같다.(주요 기능 은 txt 파일 을 읽 고 홀수 줄 과 짝수 줄 을 새로운 txt 문서 로 단독으로 출력 하 는 것 이다.)

#include <iostream>
#include <string>
#include <fstream> 
#include <iostream>
using namespace std;

int main()
{
	ifstream txtfile;//       
	ofstream txt01;//     
	ofstream txt02;//     
	string temp;
	int index = 0;//      

	txtfile.open("0.txt", ios::in);
 
	while (!txtfile.eof())      //            
	{

		getline(txtfile, temp);//      
		if (index%2==0)//    2   ,       
		{
			txt01.open("1.txt", ios::app);
			txt01 << temp;
			txt01 << endl;
			txt01.close();
		}
		else
		{
			txt02.open("2.txt", ios::app);
			txt02 << temp;
			txt02 << endl;
			txt02.close();
		}
		index++;
	}
	txtfile.close();  //    
	txtfile.close();
	txt01.close();
	txt02.close();
	
	return 0;
}
Win 10 시스템 에서 VisualStudio 2019 설정 점 클 라 우 드 라 이브 러 리 PCL 1.11.0 의 그림 튜 토리 얼 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 VisualStudio 2019 설정 점 클 라 우 드 라 이브 러 리 PCL 1.11.0 내용 은 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기