使用OpenCV在交叉点绘制线条

时间:2014-05-11 07:35:51

标签: c++ opencv line grayscale

我现在正在制作一个OpenCV程序,该程序应具备以下功能:

  1. 在白色画布上画线;
  2. 每一行的颜色都是灰度,即我使用的是CV_8UC1 ;
  3. 如果正在绘制的线正在越过其他线,则交叉点处的灰度计算如下:

    grayscaleResult = 0.5 * ( grayscaleOld + grayscaleNew);
    
  4. 其中grayscaleOld是在画布上绘制的线条的颜色       grayscaleNew是已绘制的线条的颜色。

    4. 线条的粗细可能不是1,有时> 1。 1。

    我想知道如何在交叉点绘制点,对我来说最难的是线条的细度不一样。

1 个答案:

答案 0 :(得分:1)

对于绘图线,the manual说明了一切,例如:

int thickness = (a value above 0);
cv::line( image, cv::Point(x0,y0), cv::Point(x1,y1), cv::Scalar(10,20,30), thickness ),

请注意,此处的颜色按B,G,R的顺序给出。如果您有单个通道图像,则仅使用第一个值。