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...?
前もって感謝します。