我有 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
任何建议,为什么输出是完全黑色的?
dlib::array2d<dlib::rgb_pixel> dlibimg
应该是
`dlib::array2d<dlib::rgb_alpha_pixel> dlibimg`
正如您给出的 4 通道垫图像一样。