你好,我需要你帮我用C++代码调用OpenCV库 写一段关于有横纵坐标轴的生成折线图的代码
好的,以下是一份用C++调用OpenCV库生成有横纵坐标轴的折线图的代码示例:
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
// 创建画布
Mat canvas = Mat::zeros(Size(800, 600), CV_8UC3);
// 绘制横坐标轴
line(canvas, Point(50, 550), Point(750, 550), Scalar(255, 255, 255), 1, LINE_AA);
// 绘制纵坐标轴
line(canvas, Point(50, 50), Point(50, 550), Scalar(255, 255, 255), 1, LINE_AA);
// 生成一组随机数据
int dataCount = 10;
int dataMaxValue = 500;
std::vector<int> data(dataCount);
for (int i = 0; i < dataCount; i++)
{
data[i] = rand() % dataMaxValue;
}
// 绘制折线
int stepX = (750 - 50) / dataCount; // 横向步长
int stepY = (550 - 50) / dataMaxValue; // 纵向步长
for (int i = 0; i < dataCount - 1; i++)
{
Point pt1(50 + i * stepX, 550 - data[i] * stepY);
Point pt2(50 + (i + 1) * stepX, 550 - data[i + 1] * stepY);
line(canvas, pt1, pt2, Scalar(0, 255, 0), 2, LINE_AA);
}
// 显示画布
imshow("Line Chart", canvas);
waitKey(0);
return 0;
}
运行上述代码后,会生成一个大小为800x600的画布,并在其上绘制横纵坐标轴和一条随机生成的折线。其中,折线的数据通过生成一组随机数实现,每个数的取值范围为0到500之间。你可以根据需要将其替换为你自己的数据。
原文地址: http://www.cveoy.top/t/topic/zAM 著作权归作者所有。请勿转载和采集!