@@ -7374,29 +7374,33 @@ size_t FileNode::size() const
7374
7374
void read (const FileNode& node, int & value, int default_value)
7375
7375
{
7376
7376
value = !node.node ? default_value :
7377
- CV_NODE_IS_INT (node.node ->tag ) ? node.node ->data .i :
7378
- CV_NODE_IS_REAL (node.node ->tag ) ? cvRound (node.node ->data .f ) : 0x7fffffff ;
7377
+ CV_NODE_IS_INT (node.node ->tag ) ? node.node ->data .i : std::numeric_limits<int >::max ();
7379
7378
}
7380
7379
7381
7380
void read (const FileNode& node, float & value, float default_value)
7382
7381
{
7383
7382
value = !node.node ? default_value :
7384
7383
CV_NODE_IS_INT (node.node ->tag ) ? (float )node.node ->data .i :
7385
- CV_NODE_IS_REAL (node.node ->tag ) ? ( float ) node.node ->data .f : 1e30f ;
7384
+ CV_NODE_IS_REAL (node.node ->tag ) ? saturate_cast< float >( node.node ->data .f ) : std::numeric_limits< float >:: max () ;
7386
7385
}
7387
7386
7388
7387
void read (const FileNode& node, double & value, double default_value)
7389
7388
{
7390
7389
value = !node.node ? default_value :
7391
7390
CV_NODE_IS_INT (node.node ->tag ) ? (double )node.node ->data .i :
7392
- CV_NODE_IS_REAL (node.node ->tag ) ? node.node ->data .f : 1e300 ;
7391
+ CV_NODE_IS_REAL (node.node ->tag ) ? node.node ->data .f : std::numeric_limits< double >:: max () ;
7393
7392
}
7394
7393
7395
7394
void read (const FileNode& node, String& value, const String& default_value)
7396
7395
{
7397
7396
value = !node.node ? default_value : CV_NODE_IS_STRING (node.node ->tag ) ? String (node.node ->data .str .ptr ) : String ();
7398
7397
}
7399
7398
7399
+ void read (const FileNode& node, std::string& value, const std::string& default_value)
7400
+ {
7401
+ value = !node.node ? default_value : CV_NODE_IS_STRING (node.node ->tag ) ? std::string (node.node ->data .str .ptr ) : default_value;
7402
+ }
7403
+
7400
7404
}
7401
7405
7402
7406
0 commit comments