Преобразование цвета изображения из градаций серого в RGB OpenCV C ++

В основном я пытаюсь преобразовать приведенное ниже изображение в цвет (RGB). Изображение, которое этот код в настоящее время выводит, является оттенками серого, однако для моего приложения я бы хотел, чтобы оно выводилось в виде цвета. Пожалуйста, дайте мне знать, где я должен преобразовать изображение.

Также ниже приведен код C ++, использующий функцию из openCV. Помните, что я использую обертку для использования этого кода в своем приложении для iphone.

cv::Mat CVCircles::detectedCirclesInImage(cv::Mat img, double dp, double minDist, double    param1, double param2, int min_radius, int max_radius) {
//(cv::Mat img, double minDist, int min_radius, int max_radius)


if(img.empty())
    {
    cout << "can not open image " << endl;
    return img;
    }
Mat cimg;
medianBlur(img, img, 5);

cvtColor(img, cimg, CV_GRAY2RGB);

vector<Vec3f> circles;
HoughCircles(  img      //InputArray 
             , circles  //OutputArray
             , CV_HOUGH_GRADIENT  //int method
             , 1//dp              //double       dp=1   1 ... 20
             , minDist         //double minDist=10 log 1...1000
             , 100//param1          //double  param1=100
             , 30//param2          //double  param2=30  10 ... 50
             , min_radius      //int  minRadius=1   1 ... 500
             , max_radius      //int  maxRadius=30  1 ... 500
             );

for( size_t i = 0; i < circles.size(); i++ )
    {
    Vec3i c = circles[i];
    circle( cimg, Point(c[0], c[1]), c[2], Scalar(255,0,0), 3, CV_AA);
    circle( cimg, Point(c[0], c[1]), 2, Scalar(0,255,0), 3, CV_AA);
    }


return cimg;
}

Ответы на вопрос(4)

Ваш ответ на вопрос