OpenCV,Dlib - Mat 对象输出为黑色图像

Posted

技术标签:

【中文标题】OpenCV,Dlib - Mat 对象输出为黑色图像【英文标题】:OpenCV, Dlib - Mat object outputed as black image 【发布时间】:2016-05-30 01:55:08 【问题描述】:

我有 4 通道 Mat 对象。 我正在尝试(作为流程的一部分)将其转换为dlib 数据(进行一些更改),然后再转换回Mat

由于某种原因,最终输出是全黑的。我正在努力提高运行时的效率。

cv::Mat image;
cv::cvtColor(image, image, CV_RGBA2BGR); //convert to 3 channels
//COPY pointer saves runtime
dlib::array2d<dlib::rgb_pixel> dlibimg;
dlib::assign_image(dlibimg, dlib::cv_image<dlib::bgr_pixel>(cvimg));
image = dlib::toMat(dlibimg); //black

任何建议,为什么输出是全黑的?

【问题讨论】:

【参考方案1】:

dlib::array2d&lt;dlib::rgb_pixel&gt; dlibimg 应该是

`dlib::array2d<dlib::rgb_alpha_pixel> dlibimg`  

因为你已经给出了 4 通道 Mat 图像。

【讨论】:

以上是关于OpenCV,Dlib - Mat 对象输出为黑色图像的主要内容,如果未能解决你的问题,请参考以下文章

opencv Mat和Dlib变量类型转换

如何将 Mat 转换为 dlib 的矩阵

opencv中MatND和Mat的区别

OpenCV源代码赏析: Mat对象step属性含义及使用深入分析

OpenCV源代码赏析: Mat对象step属性含义及使用深入分析

我正在尝试将像素数据转换为 OpenCV Mat 对象