opencv raw转rgb_将图像颜色从灰度转换为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,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 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),3,CV_AA);

circle( cimg,2,Scalar(0,255,CV_AA);

}

return cimg;

}

你可能感兴趣的:(opencv,raw转rgb)