DJ-Cheetah
New Member
I'm trying to read and display a matrix from within an xml file, using openCV. The XML file looks like this:\[code\] <?xml version="1.0"?> <opencv_storage> <frame_00000> <pose type_id="opencv-matrix"> <rows>0</rows> <cols>0</cols> <dt>u</dt> <data></data></pose> <expertCode>3</expertCode> <autoCode>-1</autoCode></frame_00000> <frame_00001> <pose type_id="opencv-matrix"> <rows>0</rows> <cols>0</cols> <dt>u</dt> <data></data></pose> <expertCode>0</expertCode> <autoCode>-1</autoCode></frame_00001> <frame_00002> <pose type_id="opencv-matrix"> <rows>6</rows> <cols>1</cols> <dt>d</dt> <data> 9.6603986167822176e-02 2.7534827334102827e-02 -7.9839974858475181e-03 2.9772357539313782e+02 2.6446663460538508e+02 1.5645098067258549e+00</data></pose> <expertCode>0</expertCode> <autoCode>0</autoCode></frame_00002>etc...\[/code\]I have managed to open the file, but I can't get it to print the frame data when it is compiled and run. This is the code I have:\[code\]#include "opencv2/opencv.hpp"#include <fstream>using namespace cv;using namespace std;int main(){ std::cout<< endl << "Reading:" << endl; FileStorage fs; fs.open("output.xml", FileStorage::READ); if (fs.isOpened()) { cout<<"File is opened\n"; } Mat pose2; fs["pose"] >> pose2; std::cout<< pose2; fs.release(); return (0);}\[/code\]The problem is with the last block of code before fs.release(). No matter what I try, it doesn't display the data.I want it to display all the frame data from the xml file. I've been using the OpenCV tutorials and reference manual as a guide, but it's just not helping.Any pointers would be appreciated, even if it's just a basic outline of the commands I should be using.