문서 ID: 000027169 콘텐츠 형태: 문제 해결 마지막 검토일: 2021-08-06

C에서 카메라의 포인트 인텔® RealSense™ 방법 #

환경

인텔® RealSense™ 깊이지대 카메라 D435 인텔® RealSense™ 깊이지수 카메라 D415

BUILT IN - ARTICLE INTRO SECOND COMPONENT
요약

2018년 인텔 RealSense 카메라에서 PCL 포인트 클라우드로 인텔® RealSense™ 변환

설명

PCL(Point Cloud Library)에서 기존 인텔® RealSense™ 카메라에서 PCD 포맷으로 포인트 클라우드 데이터를 변환하고자 합니다.

해결 방법

인텔® RealSense™ SDK 2.0에는 포인트 클라우드 샘플 프로그램이 제공되지만, 대부분의 샘플은 C++를 위한 것입니다.  소수의 C# 샘플의 코드를 보지만, 스크립트에는 헤더에 #includes 있습니다(C#에서는 필수가 아닌 항목).  따라서 C++ 포인트 클라우드 코드가 C# 스크립트로 변환하기 어려운 것일 수 있습니다.
 
C# 스크립트에서 C++ 코드를 시도하고 오류의 수(있는 경우)를 보고 그 시점부터 작업하십시오.
 
librealsense/예시/pointcloud at master IntelRealSense/librealsense Github
 
RealSense SDK 2.0에서 C++ 코드와 C#를 비교하면 이 페이지에 나열된 두 가지 유형의 샘플을 볼 수 있습니다.
 
librealsense/마스터 예시 IntelRealSense/librealsense Github
 
C#에 대해 PointCloud 클래스가 래핑될 때까지 지금 할 수 있는 옵션은 카메라 내장형(원시 깊이를 사용하는 경우 깊이 카메라 또는 색상에 따라 정렬된 깊이를 사용하는 경우 깊이 카메라를 사용하는 경우)을 구하고 Pinhole 카메라 모델(PointCloud 클래스가 내부에서 하는 기능)을 구현하는 것입니다. 카메라에서 얻을 수 있는 ppx & ppy는 링크에 camera_principle_point_x 및 fx & fy는 camera_focal_length_x 있습니다.
 
깊이 이미지의 각 픽셀을 루프로 연결하고 깊이 값을 얻어(가장 효율이 높은 깊이 데이터 포인터를 통해) 깊이 배율을 곱한 다음 링크에 제공된 x_3D 및 웹 y_3D 공식을 적용해야 합니다.
 
다른 사람이 이 내용을 읽고 혼동을 받을 경우, 현재 C#은 (대부분) 지원됩니다.

포인트 클라우드를 계산하는 데 내부적으로 사용되는 방법은 다음과 입니다.

XYZ + RGB 변환을 인텔 RealSense 지원하는 PCL 래퍼
https://github.com/eMrazSVK/JetsonSLAM/blob/master/pcl_testing.cpp

관련 제품

이 문서는 다음 항목에 적용됩니다. 1 제품

이 페이지의 콘텐츠는 원본 영어 콘텐츠에 대한 사람 번역 및 컴퓨터 번역의 조합으로 완성되었습니다. 이 콘텐츠는 편의와 일반적인 정보 제공을 위해서만 제공되었으며, 완전하거나 정확한 것으로 간주되어선 안 됩니다. 이 페이지의 영어 버전과 번역 간 모순이 있는 경우, 영어 버전이 우선적으로 적용됩니다. 이 페이지의 영어 버전을 확인하십시오.