#include "config.h" #include #define VNAME(value) (#value) namespace graft_cv{ CGCvConfig::CGCvConfig() :m_cparam(0) { }; CGCvConfig::~CGCvConfig() { }; void CGCvConfig::setConfParam(ConfigParam*cp) { m_cparam = cp; } void CGCvConfig::write(cv::FileStorage &fs)const{ assert(m_cparam!=0); fs << "{" << "image_show"<< m_cparam->image_show << "image_return"<< m_cparam->image_return <<"image_save"<image_save <<"image_depository"<image_depository <<"image_backup_days"<image_backup_days << "rs_grab_xmin" << m_cparam->rs_grab_xmin << "rs_grab_xmax" << m_cparam->rs_grab_xmax << "rs_grab_ymin" << m_cparam->rs_grab_ymin << "rs_grab_ymax" << m_cparam->rs_grab_ymax << "rs_grab_zmin" << m_cparam->rs_grab_zmin << "rs_grab_zmax" << m_cparam->rs_grab_zmax << "rs_grab_stem_diameter" << m_cparam->rs_grab_stem_diameter << "rs_grab_seedling_dist" << m_cparam->rs_grab_seedling_dist << "rs_grab_stem_min_pts" << m_cparam->rs_grab_stem_min_pts << "rs_grab_seedling_min_pts" << m_cparam->rs_grab_seedling_min_pts << "rs_grab_ror_ratio" << m_cparam->rs_grab_ror_ratio << "rs_grab_offset" << m_cparam->rs_grab_offset << "rs_grab_fork_yup" << m_cparam->rs_grab_fork_yup << "rs_grab_fork_ybt" << m_cparam->rs_grab_fork_ybt << "rs_grab_holes_number" << m_cparam->rs_grab_holes_number << "sc_grab_xmin" << m_cparam->sc_grab_xmin << "sc_grab_xmax" << m_cparam->sc_grab_xmax << "sc_grab_ymin" << m_cparam->sc_grab_ymin << "sc_grab_ymax" << m_cparam->sc_grab_ymax << "sc_grab_zmin" << m_cparam->sc_grab_zmin << "sc_grab_zmax" << m_cparam->sc_grab_zmax << "sc_grab_stem_diameter" << m_cparam->sc_grab_stem_diameter << "sc_grab_seedling_dist" << m_cparam->sc_grab_seedling_dist << "sc_grab_stem_min_pts" << m_cparam->sc_grab_stem_min_pts << "sc_grab_seedling_min_pts" << m_cparam->sc_grab_seedling_min_pts << "sc_grab_ror_ratio" << m_cparam->sc_grab_ror_ratio << "sc_grab_offset" << m_cparam->sc_grab_offset << "sc_grab_fork_yup" << m_cparam->sc_grab_fork_yup << "sc_grab_fork_ybt" << m_cparam->sc_grab_fork_ybt << "sc_grab_holes_number" << m_cparam->sc_grab_holes_number << "}"; }; void CGCvConfig::read(const cv::FileNode& node){ //Read serialization for this class assert(m_cparam!=0); m_cparam->image_show = (bool)(int)node["image_show"]; m_cparam->image_return = (bool)(int)node["image_return"]; m_cparam->image_save = (bool)(int)node["image_save"]; m_cparam->image_depository =(string)node["image_depository"]; m_cparam->image_backup_days = (int)node["image_backup_days"]; m_cparam->rs_grab_xmin = (double)node["rs_grab_xmin"]; m_cparam->rs_grab_xmax = (double)node["rs_grab_xmax"]; m_cparam->rs_grab_ymin = (double)node["rs_grab_ymin"]; m_cparam->rs_grab_ymax = (double)node["rs_grab_ymax"]; m_cparam->rs_grab_zmin = (double)node["rs_grab_zmin"]; m_cparam->rs_grab_zmax = (double)node["rs_grab_zmax"]; m_cparam->rs_grab_stem_diameter = (double)node["rs_grab_stem_diameter"]; m_cparam->rs_grab_seedling_dist = (double)node["rs_grab_seedling_dist"]; m_cparam->rs_grab_stem_min_pts = (int)node["rs_grab_stem_min_pts"]; m_cparam->rs_grab_seedling_min_pts = (int)node["rs_grab_seedling_min_pts"]; m_cparam->rs_grab_ror_ratio = (double)node["rs_grab_ror_ratio"]; m_cparam->rs_grab_offset = (double)node["rs_grab_offset"]; m_cparam->rs_grab_fork_yup = (double)node["rs_grab_fork_yup"]; m_cparam->rs_grab_fork_ybt = (double)node["rs_grab_fork_ybt"]; m_cparam->rs_grab_holes_number = (int)node["rs_grab_holes_number"]; m_cparam->sc_grab_xmin = (double)node["sc_grab_xmin"]; m_cparam->sc_grab_xmax = (double)node["sc_grab_xmax"]; m_cparam->sc_grab_ymin = (double)node["sc_grab_ymin"]; m_cparam->sc_grab_ymax = (double)node["sc_grab_ymax"]; m_cparam->sc_grab_zmin = (double)node["sc_grab_zmin"]; m_cparam->sc_grab_zmax = (double)node["sc_grab_zmax"]; m_cparam->sc_grab_stem_diameter = (double)node["sc_grab_stem_diameter"]; m_cparam->sc_grab_seedling_dist = (double)node["sc_grab_seedling_dist"]; m_cparam->sc_grab_stem_min_pts = (int)node["sc_grab_stem_min_pts"]; m_cparam->sc_grab_seedling_min_pts = (int)node["sc_grab_seedling_min_pts"]; m_cparam->sc_grab_ror_ratio = (double)node["sc_grab_ror_ratio"]; m_cparam->sc_grab_offset = (double)node["sc_grab_offset"]; m_cparam->sc_grab_fork_yup = (double)node["sc_grab_fork_yup"]; m_cparam->sc_grab_fork_ybt = (double)node["sc_grab_fork_ybt"]; m_cparam->sc_grab_holes_number = (int)node["sc_grab_holes_number"]; } string get_cparam_info(ConfigParam*m_cparam) { if(!m_cparam){return string("");} stringstream buff; buff << "{" << endl << "image_show:\t" << m_cparam->image_show << endl << "image_return:\t" << m_cparam->image_return << endl << "image_save:\t" << m_cparam->image_save << endl << "image_depository:\t" << m_cparam->image_depository << endl << "image_backup_days:\t" << m_cparam->image_backup_days << endl << "rs_grab_xmin:\t" << m_cparam->rs_grab_xmin << endl << "rs_grab_xmax:\t" << m_cparam->rs_grab_xmax << endl << "rs_grab_ymin:\t" << m_cparam->rs_grab_ymin << endl << "rs_grab_ymax:\t" << m_cparam->rs_grab_ymax << endl << "rs_grab_zmin:\t" << m_cparam->rs_grab_zmin << endl << "rs_grab_zmax:\t" << m_cparam->rs_grab_zmax << endl << "rs_grab_stem_diameter:\t" << m_cparam->rs_grab_stem_diameter << endl << "rs_grab_seedling_dist:\t" << m_cparam->rs_grab_seedling_dist << endl << "rs_grab_stem_min_pts:\t" << m_cparam->rs_grab_stem_min_pts << endl << "rs_grab_seedling_min_pts:\t" << m_cparam->rs_grab_seedling_min_pts << endl << "rs_grab_ror_ratio:\t" << m_cparam->rs_grab_ror_ratio << endl << "rs_grab_offset:\t" << m_cparam->rs_grab_offset << endl << "rs_grab_fork_yup:\t" << m_cparam->rs_grab_fork_yup << endl << "rs_grab_fork_ybt:\t" << m_cparam->rs_grab_fork_ybt << endl << "rs_grab_holes_number:\t" << m_cparam->rs_grab_holes_number << endl << "sc_grab_xmin:\t" << m_cparam->sc_grab_xmin << endl << "sc_grab_xmax:\t" << m_cparam->sc_grab_xmax << endl << "sc_grab_ymin:\t" << m_cparam->sc_grab_ymin << endl << "sc_grab_ymax:\t" << m_cparam->sc_grab_ymax << endl << "sc_grab_zmin:\t" << m_cparam->sc_grab_zmin << endl << "sc_grab_zmax:\t" << m_cparam->sc_grab_zmax << endl << "sc_grab_stem_diameter:\t" << m_cparam->sc_grab_stem_diameter << endl << "sc_grab_seedling_dist:\t" << m_cparam->sc_grab_seedling_dist << endl << "sc_grab_stem_min_pts:\t" << m_cparam->sc_grab_stem_min_pts << endl << "sc_grab_seedling_min_pts:\t" << m_cparam->sc_grab_seedling_min_pts << endl << "sc_grab_ror_ratio:\t" << m_cparam->sc_grab_ror_ratio << endl << "sc_grab_offset:\t" << m_cparam->sc_grab_offset << endl << "sc_grab_fork_yup:\t" << m_cparam->sc_grab_fork_yup << endl << "sc_grab_fork_ybt:\t" << m_cparam->sc_grab_fork_ybt << endl << "sc_grab_holes_number:\t" << m_cparam->sc_grab_holes_number << endl << "}" << endl; return buff.str(); } }