如何使用 c++ 在带有 opencv 3.0.0 的视频中画一条线

Posted

技术标签:

【中文标题】如何使用 c++ 在带有 opencv 3.0.0 的视频中画一条线【英文标题】:how to draw a line in a video with opencv 3.0.0 using c++ 【发布时间】:2017-05-13 18:23:39 【问题描述】:

如果您有任何源代码,请让我知道,如果您有使用 c++ 使用 opencv 3.0.0 在视频中画线的源代码 亲切地

【问题讨论】:

【参考方案1】:

首先,您应该考虑到视频基本上只是一些快速显示的图像。因此,您只需要知道如何在图像上画一条线以在视频中绘制它(对每一帧都做同样的事情)。 cv::line 函数记录在这里:http://docs.opencv.org/3.0-beta/modules/imgproc/doc/drawing_functions.html

int main(int argc, char** argv)

    // read the camera input
    VideoCapture cap(0);

    if (!cap.isOpened())
        return -1;
    Mat frame;

    /// Create Window
    namedWindow("Result", 1);
    while (true) 

        //grab and retrieve each frames of the video sequentially 
        cap >> frame;
        //draw a line onto the frame
        line(frame, Point(0, frame.rows / 2), Point(frame.cols, frame.rows / 2), Scalar(0), 3);
        //display the result
        imshow("Result", frame);
        //wait some time for the frame to render
        waitKey(30);
    
    return 0;

这将在您的网络摄像头的视频源上绘制一条水平的黑色 3 像素粗线。

【讨论】:

如果我想添加另一条与另一条平行的线并更改线的颜色?我可以为这个源代码添加什么?

以上是关于如何使用 c++ 在带有 opencv 3.0.0 的视频中画一条线的主要内容,如果未能解决你的问题,请参考以下文章

如何在带有 VB.net GUI 的 C++ OpenCV 项目中使用 C# 库?

如何在 C++ OpenCV 中显示带有 putText 的计时器结果?

在 OpenCv 3.0.0 中使用百分比随机读取一些图像 [关闭]

带有objective-c的opencv和c++ [关闭]

使用 OpenCV 3.0.0-rc1 的 VideoCapture 选择超时

使用带有新 OpenCV C++ 接口的距离变换出现问题/如何确保 Mat 是二进制掩码?