14 OpenCVのは、XMLを読みます

https://blog.csdn.net/A_L_A_N/article/details/83272772

 

ファイル記憶クラス

各種データやXML形式YMLのデータ構造がFileStorage OpenCVのクラスを格納します。

构造函数:CV ::がFileStorage(CONST文字列&ソース、INTフラグ、CONST文字列&コード=文字列())。

パラメータ:

ソース:ストアまたはデータファイル名(文字列)、その拡張子(.xmlファイルまたは.ymlまたは.yaml)決定したファイル形式をお読みください。

フラグ:備えた動作モード、:がFileStorage :: READ、WRITEがFileStorage ::、がFileStorage :: APPEND。

エンコード:のようなデフォルト値で符号化します。

 書き込みXML / ymalファイル:

書式#include <iostreamの>
書式#include <opencv2 / opencv.hpp>
 
名前空間stdを使用。
名前空間の品種を使用しました。
 
無効メイン()
{
	//校正結果を保存します
	ファイル記憶FS( "caliResult.xml"、がFileStorage :: WRITE)。
 
	int型cameraId = 0;
	マットintrMatrix =(Mat_ <ダブル>(3,3)<< 7.7881772950073355e + 002、0、3.1562441595543476e + 002、0、7.8624564811643825e + 002、2.5630331974129393e + 002、0、0、1)。
	マットdistCoeffs =(Mat_ <ダブル>(1,5)<< -7.2660835182078581e-002、2.0765291395491934e + 000、5.9477659924542790e-004、-8.2981148319346263e-004、-7.0307616798578119e + 000)。
 
	FS << "cameraId" << cameraId。
	FS << "intrinsic_parameters" << intrMatrix。
	FS << "distortion_parametes" << distCoeffs。
 
	fs.release();
}

   .xmlファイルを保存します。

<?xml version = "1.0"?>
<opencv_storage>
<cameraId> 0 </ cameraId>
<intrinsic_parameters TYPE_ID = "OpenCVのマトリクス">
  <行> 3 </行>
  <COLS> 3 </ COLS>
  <DT> D </ DT>
  <データ>
    7.7881772950073355e + 02 0 3.1562441595543476e + 02 0。
    7.8624564811643825e + 02 2.5630331974129393e + 02 0 0 1 </データ> </ intrinsic_parameters>
<distortion_parametes TYPE_ID = "OpenCVのマトリクス">
  <行> 1 </行>
  <COLS> 5 </ COLS>
  <DT> D </ DT>
  <データ>
    -7.2660835182078581e-02 2.0765291395491934e + 00
    5.9477659924542790e-04 -8.2981148319346263e-04
    -7.0307616798578119e + 00 </データ> </ distortion_parametes>
</ opencv_storage>

  XML / ymalファイルを読みます:

書式#include <iostreamの>
書式#include <opencv2 / opencv.hpp>
 
名前空間stdを使用。
名前空間の品種を使用しました。
 
無効メイン()
{
    //ファイル記憶FS( "caliResult.xml"、がFileStorage :: READ)。
    ファイル記憶FS;
    fs.open( "caliResult.xml"、がFileStorage :: READ)。
    (もし!fs.isOpened())
    {
        リターン;
    }
 
    int型cameraId;
    マットintrMatrix(3,3、CV_64F)。
    マットdistCoeffs(5,1、CV_64F)。
 
    FS [ "cameraId"] >> cameraId。
    FS [ "intrinsic_parameters"] >> intrMatrix。
    FS [ "distortion_parametes"] >> distCoeffs。
 
    fs.release();
}

  

おすすめ

転載: www.cnblogs.com/kekeoutlook/p/11918887.html