将输出数据(数字)存储为XML / json文件格式 - 以开发图形

时间:2017-04-18 12:32:57

标签: c++ json xml opencv

我在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秒,它会打印帧数,秒数 - 最后它将打印最终的帧数和秒数 - 我需要将其绘制为图形(这将是一条直线)

0 个答案:

没有答案