首先: 我正在使用 OpenCV C++ 进行图像处理。
要求 是从一维图像的向量值中绘制图形。我参考了 http://answers.opencv.org/question/73233/how-do-you-plot-graphs-in-opencv-projects/ 并找到了解决方案。这是一个可以在 OpenCV 中制作的出色软件,但是 OpenCV 原始库无法识别 plot
。
为了解决 这个问题,我浏览了所有的库文件,得出的结论是头文件
#include opencv2/plot.hpp
不在原始 OpenCV 库(最新版本)中。它必须在一些额外的库中实现,但我想还没有上线。
这是我的 代码 供您参考:
#include <opencv2/plot.hpp>
int PlotGraph(Mat & data) {
Mat plot_result;
Ptr<plot::Plot2d> plot = plot::createPlot2d(data);
//Set Background color
plot->setPlotBackgroundColor(Scalar(50, 50, 50));
//Set plot line color
plot->setPlotLineColor(Scalar(50, 50, 255));
plot->render(plot_result);
imshow("plot", plot_result);
waitKey();
plot->setPlotLineColor(Scalar(50, 255, 255));
data = data / 3;
plot->render(plot_result);
imshow("plot", plot_result);
waitKey();
plot->setPlotGridColor(Scalar(255, 0, 255));
data = data * 4;
plot->render(IMREAD_UNCHANGEDplot_result);
imshow("plot", plot_result);
waitKey();
plot->setPlotTextColor(Scalar(255, 0, 0));
randu(data, 100, 400);
plot->render(plot_result);
imshow("plot", plot_result);
waitKey();
return 0;
}
C++ 和其他库(如 GNU)中有很多方法可以绘制图形,但是我有点好奇,不想放弃这一点。
如果有人给我一个解决方案或建议一种在 OpenCV C++ 中绘制图形的方法,我将不胜感激。
原文由 DivyaMaheswaran 发布,翻译遵循 CC BY-SA 4.0 许可协议
我找到了一种在 OpenCV 中绘制图形的方法。就这样,
从 Sturkmen 提供的 https://raw.githubusercontent.com/sturkmen72/opencv_samples/master/plot-test.cpp 链接中,我获取了代码并将其作为我的头文件。
情节.h
现在,头文件已准备就绪。我将此 plot.h 添加到我的 cpp 文件中。
这是我在 OpenCV C++ 中的绘图功能:
绘图.cpp
因此,我们可以创建自己的 plot.h 头文件并在 OpenCV 中绘制图形,而无需使用外部库。