고상slam14강 중ch7 코드 중 일부 수정
2551 단어 slam
카탈로그
문제1:opencv 버전 문제, 컴파일 오류.
해결 방법: CMakeLists에서txt에서findpackage(OpenCV3.0 REQUIRED)의 3.0을 해당 버전으로 변경하거나 3.0을 직접 제거
문제2:.../ch7/poseestimation_3d2d.cpp:43:35: error: ‘CV_LOAD_IMAGE_COLOR’ was not declared in this scope
해결 방법: 모든 것을.cpp 파일에 나타나는 CVLOAD_IMAGE_xxxx는 대응하는 flag값으로 대체하고 구체적인 대체값은 다음과 같다. CV_LOAD_IMAGE_UNCHANGED = -1 ( = cv::IMREAD_UNCHANGED),
CV_LOAD_IMAGE_GRAYSCALE = 0 ( = cv::IMREAD_GRAYSCALE),
CV_LOAD_IMAGE_COLOR = 1 ( = cv::IMREAD_COLOR),
CV_LOAD_IMAGE_ANYDEPTH = 2 ( = cv::IMREAD_ANYDEPTH),
참고: poseestimation_2d2d.cpp;pose_estimation_3d3d.cpp에서도 마찬가지로 수정되었습니다.
문제3: 2d2d를 컴파일합니다.cpp시 오류 보고: CVFM_8POINT was not declared in this scope
해결 방법: CV제거하고 재번역하면 통과할 수 있다.(이곳은 Learning OpenCV3에서findFundamentalMat () 함수에서method 선택에 대한 설명이 있습니다)
문제4: 이것은 g2o 라이브러리 업데이트로 인한 사용법 변경입니다.
pose 실행estimation_3d2d.cpp(3d3d와 마찬가지로 아래와 같음) 시 오류는 다음과 같습니다.error: no matching function for call to ‘g2o::BlockSolver<:blocksolvertraits> >::BlockSolver(g2o::BlockSolver<:blocksolvertraits> >::LinearSolverType*&)’DirectBlock* solver_ptr = new DirectBlock ( linearSolver );
error: no matching function for call to ‘g2o::OptimizationAlgorithmLevenberg::OptimizationAlgorithmLevenberg(Block*&)’
원본 코드:Block* solver_ptr = new Block( linearSolver ); //
g2o::OptimizationAlgorithmLevenberg* solver = new g2o::OptimizationAlgorithmLevenberg( solver_ptr );
수정은 다음과 같습니다.Block* solver_ptr = new Block( unique_ptr<:linearsolvertype>(linearSolver) ); //
g2o::OptimizationAlgorithmLevenberg* solver = new g2o::OptimizationAlgorithmLevenberg( unique_ptr(solver_ptr) );
주요 참조:
해결 방법: 모든 것을.cpp 파일에 나타나는 CVLOAD_IMAGE_xxxx는 대응하는 flag값으로 대체하고 구체적인 대체값은 다음과 같다.
CV_LOAD_IMAGE_UNCHANGED = -1 ( = cv::IMREAD_UNCHANGED),
CV_LOAD_IMAGE_GRAYSCALE = 0 ( = cv::IMREAD_GRAYSCALE),
CV_LOAD_IMAGE_COLOR = 1 ( = cv::IMREAD_COLOR),
CV_LOAD_IMAGE_ANYDEPTH = 2 ( = cv::IMREAD_ANYDEPTH),
참고: poseestimation_2d2d.cpp;pose_estimation_3d3d.cpp에서도 마찬가지로 수정되었습니다.
문제3: 2d2d를 컴파일합니다.cpp시 오류 보고: CVFM_8POINT was not declared in this scope
해결 방법: CV제거하고 재번역하면 통과할 수 있다.(이곳은 Learning OpenCV3에서findFundamentalMat () 함수에서method 선택에 대한 설명이 있습니다)
문제4: 이것은 g2o 라이브러리 업데이트로 인한 사용법 변경입니다.
pose 실행estimation_3d2d.cpp(3d3d와 마찬가지로 아래와 같음) 시 오류는 다음과 같습니다.error: no matching function for call to ‘g2o::BlockSolver<:blocksolvertraits> >::BlockSolver(g2o::BlockSolver<:blocksolvertraits> >::LinearSolverType*&)’DirectBlock* solver_ptr = new DirectBlock ( linearSolver );
error: no matching function for call to ‘g2o::OptimizationAlgorithmLevenberg::OptimizationAlgorithmLevenberg(Block*&)’
원본 코드:Block* solver_ptr = new Block( linearSolver ); //
g2o::OptimizationAlgorithmLevenberg* solver = new g2o::OptimizationAlgorithmLevenberg( solver_ptr );
수정은 다음과 같습니다.Block* solver_ptr = new Block( unique_ptr<:linearsolvertype>(linearSolver) ); //
g2o::OptimizationAlgorithmLevenberg* solver = new g2o::OptimizationAlgorithmLevenberg( unique_ptr(solver_ptr) );
주요 참조:
pose 실행estimation_3d2d.cpp(3d3d와 마찬가지로 아래와 같음) 시 오류는 다음과 같습니다.
error: no matching function for call to ‘g2o::BlockSolver<:blocksolvertraits> >::BlockSolver(g2o::BlockSolver<:blocksolvertraits> >::LinearSolverType*&)’DirectBlock* solver_ptr = new DirectBlock ( linearSolver );
error: no matching function for call to ‘g2o::OptimizationAlgorithmLevenberg::OptimizationAlgorithmLevenberg(Block*&)’
원본 코드:
Block* solver_ptr = new Block( linearSolver ); //
g2o::OptimizationAlgorithmLevenberg* solver = new g2o::OptimizationAlgorithmLevenberg( solver_ptr );
수정은 다음과 같습니다.
Block* solver_ptr = new Block( unique_ptr<:linearsolvertype>(linearSolver) ); //
g2o::OptimizationAlgorithmLevenberg* solver = new g2o::OptimizationAlgorithmLevenberg( unique_ptr(solver_ptr) );
주요 참조:
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ORBSLAM2 학습노트(3)-부분지도이 문장들은 창도와 폐환 대상을 실례화하고 백엔드 창도와 폐환의 런 함수를 실행하는 새로운 라인을 열었다.우리 먼저 local Mapping부터 봅시다.이 함수는 큰while 순환입니다.순환이 시작되면 SetAcce...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.