OpenCV を使用して xml ファイルからデータを読み込もうとしています。データはビデオ録画からのものです。
私がやりたいことは、基本的に「そのフレームからのデータがない間は何もしない」という「do-while」ステートメントを書くことです
while 文で FileNode::empty() を使ってみたのですが、「オブジェクト引数なしで非静的メンバ関数を呼び出してください」というエラーが出続けて、構文を正しく理解できていないと思います。
私はプログラミングの完全な初心者なので、ステートメントを正しく構造化する方法がまったくわかりません。OpenCV のチュートリアルとリファレンス マニュアルを読んでいますが、何も解決していません。
以下は、xml ファイルの先頭からの例外です。
<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>
基本的に、私がやりたいことは、各フレーム ノードを見て、それらにデータがあるかどうかを判断し、ない場合は無視することです。
FileNode::empty() ステートメントの構文に関するヒントをいただければ幸いです。
編集:
XMLファイルを開くためのチュートリアルに基づいた、これまでのコードは次のとおりです
#include "opencv2/opencv.hpp"
#include <fstream>
using namespace cv;
int main()
{
FileStorage fs("output.xml", FileStorage::READ);
do {
;
} while ();
}