问题原因:
--- stderr: vision_beyond_track
In file included from /home/jywl01/autoware-1.15/src/autoware/core_perception/vision_beyond_track/include/vision_beyond_track.h:55,
from /home/jywl01/autoware-1.15/src/autoware/core_perception/vision_beyond_track/src/vision_beyond_track.cpp:35:
/home/jywl01/autoware-1.15/src/autoware/core_perception/vision_beyond_track/include/detection.h: In member function ‘double beyondtrack::Detection::calc_offset_base_yaw()’:
/home/jywl01/autoware-1.15/src/autoware/core_perception/vision_beyond_track/include/detection.h:234:21: error: conversion from ‘cv::Mat’ to non-scalar type ‘CvMat’ requested
234 | CvMat cvmat = sum_mat;
解决问题:
找到报错文件detection.h第234行
CvMat cvmat = sum_mat;
改为:
// CvMat cvmat = sum_mat;
CvMat* cvmat;
for(size_t i=0; i< sum_mat.rows; ++i)
for(size_t j=0; j< sum_mat.cols; ++j)
{
((double*)(cvmat->data.ptr + i*cvmat->step))[j] = sum_mat.at<double>(i,j);
}
问题解决。