编译器错误k4a校准Aruco字典受到保护

Compiler Error k4a-calibration Aruco dictionary is protected

本文关键字:保护 字典 Aruco 错误 k4a 校准 编译器      更新时间:2024-09-27

项目链接:https://github.com/stytim/k4a-calibration
我想运行这个项目,但它无法编译

错误消息

[ 33%] Building CXX object CMakeFiles/calib_k4a.dir/src/camera_extrinsics.cpp.o
/home/ccnam/Downloads/k4a-calibration/src/camera_extrinsics.cpp: In member function ‘bool ExtrinsicsCalibration::CalculateExtrinsics(const std::vector<FrameInfo>&, std::vector<AlignmentTransform>&)’:
/home/ccnam/Downloads/k4a-calibration/src/camera_extrinsics.cpp:213:51: error: ‘cv::Ptr<cv::aruco::Dictionary> cv::aruco::Board::dictionary’ is protected within this context
cv::aruco::detectMarkers(gray, board->dictionary, markerCorners, markerIds, params);
^~~~~~~~~~
In file included from /usr/local/include/opencv4/opencv2/aruco_detector.hpp:6:0,
from /usr/local/include/opencv4/opencv2/aruco.hpp:7,
from /usr/local/include/opencv4/opencv2/aruco/charuco.hpp:9,
from /home/ccnam/Downloads/k4a-calibration/include/camera_extrinsics.hpp:11,
from /home/ccnam/Downloads/k4a-calibration/src/camera_extrinsics.cpp:1:
/usr/local/include/opencv4/opencv2/aruco/board.hpp:89:29: note: declared protected here
CV_PROP Ptr<Dictionary> dictionary;
^~~~~~~~~~
CMakeFiles/calib_k4a.dir/build.make:75: recipe for target 'CMakeFiles/calib_k4a.dir/src/camera_extrinsics.cpp.o' failed
make[2]: *** [CMakeFiles/calib_k4a.dir/src/camera_extrinsics.cpp.o] Error 1
CMakeFiles/Makefile2:82: recipe for target 'CMakeFiles/calib_k4a.dir/all' failed
make[1]: *** [CMakeFiles/calib_k4a.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2

步骤

git clone https://github.com/stytim/k4a-calibration.git
cd k4a-calibration
mkdir build && cd build
cmake ..
make

环境
Ubuntu 18.04

将其更改为板->getDictionary((。当您将项目依赖关系与较新版本一起使用时,您需要处理所涉及的更改。