Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
标量(0255,0)在opencv中不提供绿色线条_Opencv - Fatal编程技术网

标量(0255,0)在opencv中不提供绿色线条

标量(0255,0)在opencv中不提供绿色线条,opencv,Opencv,我试图在图像上画梯度线。我希望我的线是绿色的,我使用标量(0255,0)。不过,我得到的只是黑色。对于标量(0,0,0),我也得到了黑色。对于标量(255255),我得到白色,但任何组合都没有其他颜色。部分代码如下所示: line(visual_image, Point(x1*scaleFactor, y1*scaleFactor), Point(x2*scaleFactor, y2*scaleFactor), Scalar(0,255,0), 1,8,0

我试图在图像上画梯度线。我希望我的线是绿色的,我使用标量(0255,0)。不过,我得到的只是黑色。对于标量(0,0,0),我也得到了黑色。对于标量(255255),我得到白色,但任何组合都没有其他颜色。部分代码如下所示:

line(visual_image,
     Point(x1*scaleFactor, y1*scaleFactor),
     Point(x2*scaleFactor, y2*scaleFactor),
     Scalar(0,255,0),
     1,8,0);

由于无法将彩色线、圆等绘制成灰度图像,因此必须先将其转换为3个通道:

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);

只需更改为
新标量(1001000255)
,它需要4个参数来表示R、G、B、Alpha

参考链接:


检查可视图像的类型()。如果它是0(灰色),而不是16(rgb),则无法在其中绘制颜色。太棒了!这是有道理的。谢谢所以我无法在灰色图像上绘制彩色线吗?@HarshWardhan有多少通道有灰色图像?那么您认为绿色信息应该存储在哪里?”我的mat是bgr,当使用cvtColor(视觉图像、rgb、CV_GRAY2BGR)时,给出了一个异常原因,该异常原因上有4个chnnels,但Imgproc.rectable(m1、m1、tlpoint、brpoint、newScalar(0255,0))画一个黑色长方形!这不提供问题的答案。您可以,也可以参考页面右侧的相关和链接问题来找到答案。如果您有一个相关但不同的问题,请包含指向此问题的链接以帮助提供上下文。请参阅:,。谢谢Shree,我刚刚找到了答案并进行了修改我在上面的答案我编辑你的答案,并以问答形式给出一个形状。如果需要,请编辑你的答案。