C++ 如何从XML文件(OpenCV)中将一定数量的行读入Mat对象?

C++ 如何从XML文件(OpenCV)中将一定数量的行读入Mat对象?,c++,xml,opencv,C++,Xml,Opencv,我希望将一定数量的行从xml文件读入mat对象。例如,查看下面的xml文件,我只希望读取10000行数据。然后我想将10000行存储到一个大小为(10000,95,CV_32F)的mat对象中 我是否可以将此限制为特定的行数,而不是从xml文件中读取所有数据?除非您确实受到硬件限制,否则让opencv读取整个cv::Mat,然后使用a将行子集复制到另一个Mat中会更容易、更快。请提供一些代码。Stackoverflow在这里回答有关源代码的问题。不提供源代码。-->你想要什么样的东西?这个垫子是

我希望将一定数量的行从xml文件读入mat对象。例如,查看下面的xml文件,我只希望读取10000行数据。然后我想将10000行存储到一个大小为(10000,95,CV_32F)的mat对象中


我是否可以将此限制为特定的行数,而不是从xml文件中读取所有数据?

除非您确实受到硬件限制,否则让opencv读取整个cv::Mat,然后使用a将行子集复制到另一个Mat中会更容易、更快。

请提供一些代码。Stackoverflow在这里回答有关源代码的问题。不提供源代码。-->你想要什么样的东西?这个垫子是什么?您使用什么XML解析器。。。我知道它是用来回答问题的,这是一个源代码问题。标题所示的Mat对象是OpenCv Mat对象。但是为了您的喜欢,我会提供一些openCV代码。对于另一个文件,我有一个非常大的文件,需要花费一些时间来阅读整个文件。这就是为什么我只希望读取一小部分,以便进行测试,这希望会更快。大多数XML阅读器在允许您访问之前,会将整个文件读取并解析为树结构。除非您想将文件作为原始文本打开,并读取每个浮点值,直到有95cols*10000*行。不,我绝对不想这样做,我认为使用opencv filenodeiterator可能是一种更简单的方法。正如有人所说:您有一个问题,您决定使用xml,现在您有两个问题;-)
<?xml version="1.0"?>
<opencv_storage>
<featureVector type_id="opencv-matrix">
   <rows>34381</rows>
   <cols>95</cols>
   <dt>f</dt>
   <data>
    1.44965559e-001 9.77574438e-002 5.78284226e-002 2.95825675e-002
    2.90913619e-002 4.95372787e-002 5.18676676e-002 1.07530527e-001
    6.14087284e-002 1.18194185e-001 5.44071913e-001 3.08346570e-001
    4.71893772e-002 5.77269197e-002 1.99747104e-002 7.79013662e-003
    1.93754639e-002 1.56246489e-002 1.07879408e-001 6.43140554e-001
    3.08369696e-001 5.67582771e-002 6.82025328e-002 1.12302238e-002
    1.19626308e-002 2.68770847e-002 1.13766259e-002 3.16501665e-003
    5.22044823e-002 8.28718115e-003 8.87764909e-004 1.62017101e-003
    ............ 
 Mat posData
 FileStorage pos("C:/.../posSamps.xml", FileStorage::READ);
 pos["featureVector"] >> posData;