我需要将具有 3 个通道的 CV_8U 图像转换为必须是单通道 CV_32S 的图像。但是当我尝试这样做时,我得到的图像全是黑色的。我不明白为什么我的代码不起作用。
我正在处理灰度图像,这就是为什么我将 3 通道图像拆分为单通道图像的矢量,然后只处理第一个通道。
//markers->Image() returns a valid image, so this is not the problem
cv::Mat dst(markers->Image().size(), CV_32SC1);
dst = cv::Scalar::all(0);
std::vector<cv::Mat> vectmp;
cv::split(markers->Image(), vectmp);
vectmp.at(0).convertTo(dst, CV_32S);
//vectmp.at(0) is ok, but dst is black...?
先感谢您。