システムのトレーニングに使用する 85 個の 26*7 バイナリ イメージがあります。これらの画像の各 Mat を XML で次々に書き込もうとしています。すべて同じ要素名 *Training_set* 内に次のように記述します。
<?xml version="1.0"?>
<opencv_storage>
<Training_set type_id="opencv-matrix">
Mat1 values
Mat2 values
Mat3 values
......
Mat85 values
</Training_set >
</opencv_storage>
次のコードを使用:-
FileStorage fs("Samples.xml", FileStorage::WRITE);
// Check if we actually created the file
if(fs.isOpened())
{
IplImage *img = cvLoadImage("eye1.bmp");
Mat imgg=cvarrToMat(img);
fs <<"Training_set"<< imgg;
IplImage *img2 = cvLoadImage("eye2.bmp");
Mat imgg2=cvarrToMat(img2);
fs <<"Trainging_set"<<imgg2;
}
現在、私は以下を取得しました:-
<?xml version="1.0"?>
<opencv_storage>
<Training_set type_id="opencv-matrix">
Mat1 values
</Training_set >
<Training_set type_id="opencv-matrix">
Mat2 values
</Training_set >
</opencv_storage>
ご覧のとおり、それらは同じ要素名に割り当てられていますが、別々に割り当てられています。これは私が達成したいことではありません。同じ要素名内の単一のバッチにすべての Mat 値を書き込むにはどうすればよいですか。
この XML には、Visual Studio C++ を使用して Opencv で開発されたニューラル ネットワークのトレーニング サンプル セットが含まれます。