我在Computer Vision域工作,使用OpenCV API在C ++中完全编码,我找到了结果并在cmd提示符下打印了值。我想在XML文件中保存这些结果(基本上是整数和浮点数),然后开发图形(条形图或折线图) - 基本上是一个Web仪表板(GUI)。现在我处于一个阶段,我使用 ofstream 并将数据保存在csv / xml文件中。但它只是在cmd提示符中打印相同的值。
有人可以帮助我使用一种技术来存储XML树结构中的值吗?这样我就可以使用该xml数据创建一个Web仪表板(条形图)
我也遇到了msxml6,tinyxml,libxml ++,但没有取得任何丰硕成果。
提前致谢 - 如果这是重复的话,请提供其他问题的链接。
代码示例:
#include<opencv2/core/core.hpp>
#include<iostream>
#include<fstream>
int main ()
{
cv::VideoCapture capVideo;
capVideo.open("video.mp4");
cv::Mat imgFrame1;
cv::Mat imgFrame2;
double fps = capVideo.get(CV_CAP_PROP_FPS);
std::cout << "FPS = " << fps <<std::endl;
double fc = capVideo.get(CV_CAP_PROP_FRAME_COUNT);
std::cout << "Total Framecount = " << fc <<std::endl;
std::ofstream outfile;
outfile.open("theBigDataSheet.xml");
capVideo.read(imgFrame1);
int frameCount = 1;
while (true)
{
int divisor = fps*15;
if (frameCount%divisor == 0 || frameCount==fc-1)
{
if (frameCount<fc-1)
{
outfile << frameCount/fps << std::endl;
outfile << frameCount << std::endl;
}
else{
outfile << frameCount/fps << std::endl;
outfile << frameCount << std::endl;
}
}
if ((capVideo.get(CV_CAP_PROP_POS_FRAMES) + 1) <
capVideo.get(CV_CAP_PROP_FRAME_COUNT))
{
capVideo.read(imgFrame2);
frameCount++;
}
else {
std::cout << "end of video\n";
break;
}
cv::waitKey(33);
}
outfile.close();
return(0);
}
看到代码:每15秒,它会打印帧数,秒数 - 最后它将打印最终的帧数和秒数 - 我需要将其绘制为图形(这将是一条直线)