OpenCV2.4.3を使用してフォアグラウンド検出を行っています。バイナリである結果の前景をRGB画像に変換したいと思います。私のコードは次のようなものです:
cv::VideoCapture cap;
cap.open ( "test.avi " );
cv::Mat img;
cv::Mat finalForeground;
cv::Mat element( 3, 3, CV_8U, cv::Scalar(1) );
cv::gpu::GMG_GPU gmgGpu
gmgGpu.initialize ( cv::Size ( 1600, 1200 ) );
cv::gpu::GpuMat gpuForeground;
cv::Mat rgbForeground;
for ( int i = 0; i < 500; i ++ )
{
cap >> img;
cv::gpu::GpuMat gpuImg ( img );
gmgGpu.operator()(gpuImg, gpuForeground);
gpuForeground.download ( finalForeground);
cv::morphologyEx ( finalForeground, finalForeground, CV::MORPH_CLOSE, element );
cvCvtColor ( finalForeground, rgbForeground, CV_GRAY2BGR );
}
次に、次のようなエラーが発生しました。
エラーC2664:'cvCvtColor':パラメータ2を'cv::Mat'から'CvArr*'に変換できません
この変換を実行できるユーザー定義の変換演算子がないか、演算子を呼び出すことができません
誰かがこのエラーを処理するための提案をすることができますか?ありがとう。