我有 4 channel 垫对象。
我正在尝试(作为流程的一部分)将其转换为 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
有什么建议吗,为什么输出全黑?
最佳答案
dlib::array2d<dlib::rgb_pixel> dlibimg
应该是
`dlib::array2d<dlib::rgb_alpha_pixel> dlibimg`
因为您已经给出了 4 channel Mat 图像。
关于c++ - OpenCV、Dlib - Mat 对象输出为黑色图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37516675/