Intel RealSense D455를 사용하기 위해 개발환경을 세팅해주려고 한다.
1. Intel RealSense SDK 2.0 설치
2. Visual Studio 설치
3. 테스트
1. Intel RealSense SDK 2.0 설치
https://www.intelrealsense.com/sdk-2/
우선 위 사이트로 들어가서 Intel RealSense SDK 2.0을 다운로드 받는다. 위 사이트에서 설치 버튼을 누르면 깃허브 페이지로 이동되는데, 페이지 최하단에서 각자의 환경에 맞는 SDK를 선택하여 설치하면 된다.
난 윈도우10을 사용 중이므로 세 번째에 해당하는 것을 다운로드 하겠다. 다운로드가 완료되면 파일을 실행해서 설치를 해주면 된다.
'Intel RealSense Viewer and Quality Tool'은 카메라를 쉽게 연동해주는 툴이고, Visual Studio에서 개발하려면 'C/C++ Developer Package'만 설치해주면 된다고 한다. 하지만 뭐가 뭔지 잘 모르는 나는 미래가 두렵기 때문에... 기본으로 체크되어 있는 걸 다 설치하겠다. 그리고 next 해서 install 해주기.
설치 완료 후 환경 변수를 적용한다. (이 부분은 필수는 아닌 거 같으나 예상치 못한 오류를 대비하기 위한 작업인 것 같다) '시스템 속성 > 환경 변수 > Path' 에 'C:\Program Files (x86)\Intel RealSense SDK 2.0\bin\x64' 경로를 추가하면 된다.
2. Visual Studio 설치
그리고 C++ 프로젝트를 생성하라는데... 다들 Visual Studio를 쓰고 있다 vsCode로는 안 되는 걸까. 또 잘 모르는 나는 다른 사람들이 쓰는 걸 따라가겠다... Visual Studio를 설치했다.
설치 후 컴퓨터를 재부팅하라는 안내멘트가 떠서 재부팅 해줬다. 그리고 Visual Studio를 시작해서 C++ 프로젝트를 생성해줬다. '빈 프로젝트'가 아니라 '콘솔 앱' 템플릴으로 생성했다
위 화면이 나타나면 '보기 > 다른 창 > 속성관리자'을 선택한다.
이제 속성관리자에서 Release x64에 기존 속성 시트를 추가한다. 해당 폴더에서 마우스 우클릭을 하면 된다.
'C:\Program Files (x86)\Intel RealSense SDK 2.0'에 있는 아래 3개를 추가해주면 된다.
아래 사진처럼 이 부분도 Release x64로 변경한다.
3. 테스트
예제코드로 실행을 해보려고 했는데 바로 오류가 생겼다. 다양한 예제코드가 있지만 '#include <librealsense2/rs.hpp>'는 반드시 해주는데 'librealsense2/rs.hpp' 파일소스를 찾을 수 없다는 오류가 뜨는 것이다.
일단 오류 기록...
+) 해결 2022.02.22.화
아래 링크를 참고해서 "librealsense2/rs.hpp"를 열 수 없는 문제는 해결을 했다.
https://devhyeon.tistory.com/7
그러나... 새로운 오류와의 만남.
얜 또 뭘까...? 이 오류는 검색해도 나랑 같은 경우를 찾을 수가 없다... 일단 해결해보자.
아직 해결은 못했지만 opencv_highgui가 영상 및 비디오 입출력을 담당하는 모듈인 것은 알아냈다. 혹시 RealSense 카메라카 컴퓨터에는 연결이 되었지만 코드와는 제대로 연결이 안 된 것 아닐까...?
+) 해결...? 2022.02.23.수
파일탐색기에서 opencv_highgui341.lib 파일의 위치를 찾아서 프로젝트 속성에 경로를 추가해줬다. 그랬더니 위 오류가 더이상 발생하지 않았다. 그리고 새로운 오류...
얘도 해결을 해보자...
+) 애매한 해결 2022.02.23.수
그냥 열 수 없다고 하는 파일의 경로를 다 연결하고, 프로젝트 파일에 lib 파일을 넣어줘서 오류가 뜨긴 하는데 예제 코드로 얻고 싶었던 값은 나온다.
+) 허무한 해결 2022.02.23.수
Visual Studio를 2022 버전이 아니라 2019 버전으로 삭제 후 다시 설치해줬다. 그랬더니 첫 번째에 떴던 오류도 발생하지 않고 정상적으로 작동했다... 며칠 간 뻘짓한 것이 아까운....
중심 부분이 카메라와 얼마나 떨어져있는지 거리를 계산해서 보여준다. 코드를 실행시킨 그 순간의 거리만 나오는 줄 알았는데, 실시간으로 보여주고 있다.
// License: Apache 2.0. See LICENSE file in root directory.
// Copyright(c) 2019 Intel Corporation. All Rights Reserved.
#include <librealsense2/rs.hpp> // Include RealSense Cross Platform API
#include <iostream> // for cout
// Hello RealSense example demonstrates the basics of connecting to a RealSense device
// and taking advantage of depth data
int main(int argc, char* argv[]) try
{
// Create a Pipeline - this serves as a top-level API for streaming and processing frames
rs2::pipeline p;
// Configure and start the pipeline
p.start();
while (true)
{
// Block program until frames arrive
rs2::frameset frames = p.wait_for_frames();
// Try to get a frame of a depth image
rs2::depth_frame depth = frames.get_depth_frame();
// Get the depth frame's dimensions
auto width = depth.get_width();
auto height = depth.get_height();
// Query the distance from the camera to the object in the center of the image
float dist_to_center = depth.get_distance(width / 2, height / 2);
// Print the distance
std::cout << "The camera is facing an object " << dist_to_center << " meters away \r";
}
return EXIT_SUCCESS;
}
catch (const rs2::error& e)
{
std::cerr << "RealSense error calling " << e.get_failed_function() << "(" << e.get_failed_args() << "):\n " << e.what() << std::endl;
return EXIT_FAILURE;
}
catch (const std::exception& e)
{
std::cerr << e.what() << std::endl;
return EXIT_FAILURE;
}
'MI Lab > Intel RealSense - 2022.02~2022.06' 카테고리의 다른 글
[RealSense] pyrealsense2 API class, method 설명 (0) | 2022.03.02 |
---|---|
[RealSense] Python 예제 코드 (0) | 2022.03.02 |
[RealSense] Python 개발 환경 세팅 (0) | 2022.03.02 |
[RealSense] rs-capture 예제 실행 (0) | 2022.02.23 |
[RealSense] C++ 예제 코드 (0) | 2022.02.23 |