1
私はOpenCV(C++版)にvector<vector<Point>>
データ型のネストされた.xmlファイルを書き込もうとしていました。opencvのFileStorage :: WRITE .xmlタグ
<?xml version="1.0"?>
<opencv_storage>
<data>
<_><vector><_><point>
<x>162</x>
<y>30</y></point></_>
<_><point>
<x>162</x>
<y>31</y></point></_>
<_><point>
<x>161</x>
<y>32</y></point></_>
</vector></_>
</data>
</opencv_storage>
は(もループ内でタグ名を変更する必要があります):
string filename = "test.xml";
FileStorage fs(filename, FileStorage::WRITE);
fs << "data" << "[";
for (int i = 0; i < myvector.size(); ++i)
{
//Write each vector
fs << "{:" << "vector" << "[:";
for (int j = 0; j < myvector[i].size(); ++j)
{
fs << "{:" << "point";
//Write each point
fs << "{" << "x" << myvector[i][j].x << "y" << myvector[i][j].y << "}";
fs << "}"; // close point
}
fs << "]" << "}"; // close vector
}
fs << "]"; // close data
fs.release();
結果は次のとおりです。 しかし、私は、ループ内で作成され、常に1個の余分なタグを持っています
<?xml version="1.0"?>
<opencv_storage>
<data>
<vector>
<point1>
<x>162</x>
<y>30</y>
</point1>
<<point2>
<x>162</x>
<y>31</y>
</point2>
<point3>
<x>161</x>
<y>32</y>
</point3>
</vector>
</data>
</opencv_storage>
この問題の原因は何ですか?ありがとう!
:あなたはこれを試すことができます!ありがとう! –