我需要將具有3個通道的CV_8U圖像轉換爲必須是單通道CV_32S的圖像。但是當我試圖這樣做時,我得到的圖像全是黑色的。我不明白爲什麼我的代碼無法正常工作。OpenCV:將CV_8UC3圖像轉換爲C++中的CV_32S1圖像
我正在處理灰度圖像,這就是爲什麼我將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...?
在此先感謝您。
你爲什麼不先做灰度轉換,即考慮所有三個顏色通道? – 2013-03-11 11:24:07