Scalar (0.255.0) does not give a green line in opencv

I am trying to draw gradient lines in an image. I want my lines to be green and I use Scalar (0.255.0). However, I only get black. For Scalaar (0,0,0) I also turn black. For Scalar (255,255,255) I get white, but no other color for any combination. Part of the code is given below:

line(visual_image, Point(x1*scaleFactor, y1*scaleFactor), Point(x2*scaleFactor, y2*scaleFactor), Scalar(0,255,0), 1,8,0); 
+6
source share
1 answer

since you cannot draw colored lines, circles, etc. into a grayscale image, you first need to convert it to 3 channels:

 Mat rgb; cvtColor(visual_image, rgb, CV_GRAY2BGR); // now draw your lines: line( rgb, Point(x1*scaleFactor, y1*scaleFactor), Point(x2*scaleFactor, y2*scaleFactor), Scalar(0,255,0), 1,8,0); 
+11
source

All Articles