3d 将openCV Mat转换为Dlib';s形象

3d 将openCV Mat转换为Dlib';s形象,3d,camera,dlib,3d,Camera,Dlib,我正试图通过zed摄像头而不是普通的网络摄像头检索输入,将dlib与zed 3D摄像头集成到他们的网络摄像头中 尝试匹配dlib使用的捕获图像矩阵时会出现问题。在dlib中,我必须将从Zed相机检索到的图像的cv::Mat转换为dlib的特殊格式,该格式在示例中使用,如下所示: cv::Mat temp = sl::zed::slMat2cvMat(left); // converts the zed Mat to openCV mat cv_image<bgr_pixel>

我正试图通过zed摄像头而不是普通的网络摄像头检索输入,将dlib与zed 3D摄像头集成到他们的网络摄像头中

尝试匹配dlib使用的捕获图像矩阵时会出现问题。在dlib中,我必须将从Zed相机检索到的图像的cv::Mat转换为dlib的特殊格式,该格式在示例中使用,如下所示:

cv::Mat temp = sl::zed::slMat2cvMat(left); // converts the zed Mat to openCV mat     
cv_image<bgr_pixel> cimg(temp); // converts the opencv matrix to dlib matrix` 
cv::Mat temp=sl::zed::slMat2cvMat(左);//将zed Mat转换为openCV Mat
cv_图像cimg(温度);//将opencv矩阵转换为dlib矩阵`
在执行第二步时,我收到如下错误:

Error detected at line 36.
Error detected in file /home/yomna/Resources/apps/dlib/dlib-master/dlib/../dlib/opencv/cv_image.h.
Error detected in function dlib::cv_image<pixel_type>::cv_image(cv::Mat) [with pixel_type = dlib::bgr_pixel].

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: 0
     img.channels(): 1
     img.pixel_traits<pixel_type>::num: 3
在第36行检测到错误。 在文件/home/yomna/Resources/apps/dlib/dlib master/dlib/。/dlib/opencv/cv_image.h中检测到错误。 在函数dlib::cv_image::cv_image(cv::Mat)[具有像素类型=dlib::bgr_像素]中检测到错误。 失败的表达式是img.depth()==cv::DataType::depth&&img.channels()==pixel\u traits::num。 您提供的像素类型与open cv Mat对象使用的像素不匹配。 img.depth():0 img.cv::数据类型::深度:0 img.channels():1 img.pixel_traits::num:3
您知道openCV图像矩阵到dlib格式之间的转换有什么问题吗?您粘贴的错误是

您提供的像素类型与open cv Mat对象使用的像素不匹配

它还告诉你你的图像是单通道的。所以它不是BGR图像。它看起来像8位灰度,所以你需要使用一些像无符号字符的像素,因为这是你的图像类型