Я хочу использовать данные глубины кадра, полученные с помощью realsensed435i в алгоритме. И мне нужно получить данные типа dlib::array2d<uint16_t>
. Но я не могу получить его напрямую. Итак, мой подход - сначала получить cv::Mat
и затем преобразовать его в dlib::array2d<uint16_t>
. И я попробовал сбросить код, но они не работают!
case1: dlib::assign_image(node.im, dlib::cv_image<uint16_t> (settings.inputMat));
case2: dlib::assign_image(node.im, dlib::cv_image< unsigned char >(settings.inputMat));
, когда я запускаю camke ..
и make
, это успешно. но когда я запускаю исполняемые двоичные файлы, возникает ошибка.
case1:hewenhui@hewenhui-Inspiron-7590:~/pre_PSLAM/D-KHT-master/bin$ ./testlib
**************************** FATAL ERROR DETECTED ****************************
Error detected at line 36.
Error detected in file /usr/local/include/dlib/opencv/cv_image.h.
Error detected in function dlib::cv_image<pixel_type>::cv_image(const cv::Mat&) [with pixel_type = short unsigned int].
Failing expression was img.depth() == cv::DataType<typename pixel_traits<pixel_type>::basic_pixel_type>::depth && img.channels() == pixel_traits<pixel_type>::num.
The pixel type you gave doesn't match pixel used by the open cv Mat object.
img.depth(): 0
img.cv::DataType<typename pixel_traits<pixel_type>::basic_pixel_type>::depth: 2
img.channels(): 3
img.pixel_traits<pixel_type>::num: 1
******************************************************************************
已放弃 (核心已转储)
case2:
**************************** FATAL ERROR DETECTED ****************************
Error detected at line 36.
Error detected in file /usr/local/include/dlib/opencv/cv_image.h.
Error detected in function dlib::cv_image<pixel_type>::cv_image(const cv::Mat&) [with pixel_type = short unsigned int].
Failing expression was img.depth() == cv::DataType<typename pixel_traits<pixel_type>::basic_pixel_type>::depth && img.channels() == pixel_traits<pixel_type>::num.
The pixel type you gave doesn't match pixel used by the open cv Mat object.
img.depth(): 0
img.cv::DataType<typename pixel_traits<pixel_type>::basic_pixel_type>::depth: 2
img.channels(): 3
img.pixel_traits<pixel_type>::num: 1
******************************************************************************
已放弃 (核心已转储)
case3: dlib :: assign_image (node.im, dlib :: cv_image (settings.inputMat));
Это работает, но результат неверен.
Итак, есть ли у вас эффективные советы?