很高兴为您提供帮助。以下是使用OpenCV库编写动态折线图的示例代码:

#include <opencv2/opencv.hpp>
#include <iostream>
#include <vector>

using namespace cv;
using namespace std;

int main()
{
    // 创建一个名为“动态折线图”的窗口
    namedWindow("动态折线图", WINDOW_NORMAL);

    // 创建一个空的Mat对象,用于存储绘制的折线图
    Mat lineGraph = Mat::zeros(Size(600, 400), CV_8UC3);

    // 创建一个存储坐标点的向量
    vector<Point> points;

    // 随机生成一些坐标点
    for (int i = 0; i < 10; i++)
    {
        int x = rand() % 600;
        int y = rand() % 400;
        points.push_back(Point(x, y));
    }

    // 循环绘制动态折线图
    while (true)
    {
        // 清空折线图
        lineGraph.setTo(Scalar(0, 0, 0));

        // 更新坐标点
        for (int i = 0; i < points.size(); i++)
        {
            points[i].x += rand() % 10 - 5;
            points[i].y += rand() % 10 - 5;

            // 限制坐标点在窗口范围内
            points[i].x = max(0, min(points[i].x, 599));
            points[i].y = max(0, min(points[i].y, 399));
        }

        // 绘制折线
        polylines(lineGraph, points, false, Scalar(0, 255, 0), 2);

        // 显示折线图
        imshow("动态折线图", lineGraph);

        // 等待一段时间,以便观察折线图
        waitKey(50);
    }

    return 0;
}

此代码使用OpenCV库的polylines函数绘制折线,然后循环更新坐标点并绘制动态折线图。您可以根据需要更改代码中的窗口大小、坐标点数量和更新速度等参数。希望这可以帮助您实现您的项目!


原文地址: https://www.cveoy.top/t/topic/zAB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录