Ask Your Question

Revision history [back]

In color a grayscale image values in plne BGR are equal:

Mat Gray = imread("f:/lib/opencv/samples/data/lena.jpg",IMREAD_GRAYSCALE);
Mat grayInColor;
Mat drawing = Mat::zeros(Gray.size(), CV_8UC3); //color
line(drawing, Point(0, 0), Point(256, 256), Vec3b(255,0,255),3);

vector<Mat> plan;

plan.push_back(Gray);
plan.push_back(Gray);
plan.push_back(Gray);
// Then you can merge  
merge(plan,grayInColor);
Mat result;

addWeighted(grayInColor, 0.5, drawing, 0.5, 0, result);
imshow("result",result);
waitKey();

In color a grayscale image values in plne plane BGR are equal:

Mat Gray = imread("f:/lib/opencv/samples/data/lena.jpg",IMREAD_GRAYSCALE);
Mat grayInColor;
Mat drawing = Mat::zeros(Gray.size(), CV_8UC3); //color
line(drawing, Point(0, 0), Point(256, 256), Vec3b(255,0,255),3);

vector<Mat> plan;

plan.push_back(Gray);
plan.push_back(Gray);
plan.push_back(Gray);
// Then you can merge  
merge(plan,grayInColor);
Mat result;

addWeighted(grayInColor, 0.5, drawing, 0.5, 0, result);
imshow("result",result);
waitKey();