added cv::Filestorage based setup method for retina model
This commit is contained in:
parent
b33e23138e
commit
42e656542c
@ -174,6 +174,16 @@ public:
|
|||||||
*/
|
*/
|
||||||
void setup(std::string retinaParameterFile="", const bool applyDefaultSetupOnFailure=true);
|
void setup(std::string retinaParameterFile="", const bool applyDefaultSetupOnFailure=true);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* try to open an XML retina parameters file to adjust current retina instance setup
|
||||||
|
* => if the xml file does not exist, then default setup is applied
|
||||||
|
* => warning, Exceptions are thrown if read XML file is not valid
|
||||||
|
* @param fs : the open Filestorage which contains retina parameters
|
||||||
|
* @param applyDefaultSetupOnFailure : set to true if an error must be thrown on error
|
||||||
|
*/
|
||||||
|
void setup(cv::FileStorage &fs, const bool applyDefaultSetupOnFailure=true);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* try to open an XML retina parameters file to adjust current retina instance setup
|
* try to open an XML retina parameters file to adjust current retina instance setup
|
||||||
* => if the xml file does not exist, then default setup is applied
|
* => if the xml file does not exist, then default setup is applied
|
||||||
|
@ -100,15 +100,34 @@ void Retina::setColorSaturation(const bool saturateColors, const float colorSatu
|
|||||||
|
|
||||||
struct Retina::RetinaParameters Retina::getParameters(){return _retinaParameters;}
|
struct Retina::RetinaParameters Retina::getParameters(){return _retinaParameters;}
|
||||||
|
|
||||||
|
|
||||||
void Retina::setup(std::string retinaParameterFile, const bool applyDefaultSetupOnFailure)
|
void Retina::setup(std::string retinaParameterFile, const bool applyDefaultSetupOnFailure)
|
||||||
{
|
{
|
||||||
// open specified parameters file
|
try
|
||||||
std::cout<<"Retina::setup: setting up retina from parameter file : "<<retinaParameterFile<<std::endl;
|
{
|
||||||
|
// opening retinaParameterFile in read mode
|
||||||
|
cv::FileStorage fs(retinaParameterFile, cv::FileStorage::READ);
|
||||||
|
setup(fs, applyDefaultSetupOnFailure);
|
||||||
|
}catch(Exception &e)
|
||||||
|
{
|
||||||
|
std::cout<<"Retina::setup: wrong/unappropriate xml parameter file : error report :`n=>"<<e.what()<<std::endl;
|
||||||
|
if (applyDefaultSetupOnFailure)
|
||||||
|
{
|
||||||
|
std::cout<<"Retina::setup: resetting retina with default parameters"<<std::endl;
|
||||||
|
setupOPLandIPLParvoChannel();
|
||||||
|
setupIPLMagnoChannel();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
std::cout<<"=> keeping current parameters"<<std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Retina::setup(cv::FileStorage &fs, const bool applyDefaultSetupOnFailure)
|
||||||
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// opening retinaParameterFile in read mode
|
|
||||||
cv::FileStorage fs(retinaParameterFile, cv::FileStorage::READ);
|
|
||||||
// read parameters file if it exists or apply default setup if asked for
|
// read parameters file if it exists or apply default setup if asked for
|
||||||
if (!fs.isOpened())
|
if (!fs.isOpened())
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user