config.cpp 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. #include "config.h"
  2. #include <iostream>
  3. #define VNAME(value) (#value)
  4. namespace graft_cv{
  5. CGCvConfig::CGCvConfig()
  6. :m_cparam(0)
  7. {
  8. };
  9. CGCvConfig::~CGCvConfig()
  10. {
  11. };
  12. void CGCvConfig::setConfParam(ConfigParam*cp)
  13. {
  14. m_cparam = cp;
  15. }
  16. void CGCvConfig::write(cv::FileStorage &fs)const{
  17. assert(m_cparam!=0);
  18. fs << "{"
  19. << "image_show"<< m_cparam->image_show
  20. << "image_return"<< m_cparam->image_return
  21. <<"image_save"<<m_cparam->image_save
  22. <<"image_depository"<<m_cparam->image_depository
  23. <<"image_backup_days"<<m_cparam->image_backup_days
  24. <<"model_path_grab"<<m_cparam->model_path_grab
  25. <<"object_threshold_grab"<<m_cparam->object_threshold_grab
  26. <<"nms_threshold_grab"<<m_cparam->nms_threshold_grab
  27. << "grid_row_grab" << m_cparam->grid_row_grab
  28. << "grid_col_grab" << m_cparam->grid_col_grab
  29. << "grid_padding_grab" << m_cparam->grid_padding_grab
  30. << "offset_grab" << m_cparam->offset_grab
  31. << "min_distance_grab" << m_cparam->min_distance_grab
  32. << "min_area_ratio_grab" << m_cparam->min_area_ratio_grab
  33. << "max_area_ratio_grab" << m_cparam->max_area_ratio_grab
  34. << "rot_degree_grab" << m_cparam->rot_degree_grab
  35. << "model_path_cut" << m_cparam->model_path_cut
  36. << "object_threshold_cut" << m_cparam->object_threshold_cut
  37. << "nms_threshold_cut" << m_cparam->nms_threshold_cut
  38. << "grid_row_cut" << m_cparam->grid_row_cut
  39. << "grid_col_cut" << m_cparam->grid_col_cut
  40. << "grid_padding_cut" << m_cparam->grid_padding_cut
  41. << "min_area_ratio_cut" << m_cparam->min_area_ratio_cut
  42. << "max_area_ratio_cut" << m_cparam->max_area_ratio_cut
  43. << "}";
  44. };
  45. void CGCvConfig::read(const cv::FileNode& node){ //Read serialization for this class
  46. assert(m_cparam!=0);
  47. m_cparam->image_show = (bool)(int)node["image_show"];
  48. m_cparam->image_return = (bool)(int)node["image_return"];
  49. m_cparam->image_save = (bool)(int)node["image_save"];
  50. m_cparam->image_depository =(string)node["image_depository"];
  51. m_cparam->image_backup_days = (int)node["image_backup_days"];
  52. m_cparam->model_path_grab =(string)node["model_path_grab"];
  53. m_cparam->object_threshold_grab = (float)node["object_threshold_grab"];
  54. m_cparam->nms_threshold_grab = (float)node["nms_threshold_grab"];
  55. m_cparam->grid_row_grab = (int)node["grid_row_grab"];
  56. m_cparam->grid_col_grab = (int)node["grid_col_grab"];
  57. m_cparam->grid_padding_grab = (int)node["grid_padding_grab"];
  58. m_cparam->offset_grab = (int)node["offset_grab"];
  59. m_cparam->min_distance_grab = (double)node["min_distance_grab"];
  60. m_cparam->min_area_ratio_grab = (double)node["min_area_ratio_grab"];
  61. m_cparam->max_area_ratio_grab = (double)node["max_area_ratio_grab"];
  62. m_cparam->rot_degree_grab = (double)node["rot_degree_grab"];
  63. m_cparam->model_path_cut = (string)node["model_path_cut"];
  64. m_cparam->object_threshold_cut = (float)node["object_threshold_cut"];
  65. m_cparam->nms_threshold_cut = (float)node["nms_threshold_cut"];
  66. m_cparam->grid_row_cut = (int)node["grid_row_cut"];
  67. m_cparam->grid_col_cut = (int)node["grid_col_cut"];
  68. m_cparam->grid_padding_cut = (int)node["grid_padding_cut"];
  69. m_cparam->min_area_ratio_cut = (double)node["min_area_ratio_cut"];
  70. m_cparam->max_area_ratio_cut = (double)node["max_area_ratio_cut"];
  71. }
  72. string get_cparam_info(ConfigParam*m_cparam)
  73. {
  74. if(!m_cparam){return string("");}
  75. stringstream buff;
  76. buff << "{" <<endl
  77. << "image_show:\t"<< m_cparam->image_show << endl
  78. << "image_return:\t"<< m_cparam->image_return << endl
  79. <<"image_save:\t"<<m_cparam->image_save << endl
  80. <<"image_depository:\t"<<m_cparam->image_depository << endl
  81. <<"image_backup_days:\t"<<m_cparam->image_backup_days << endl
  82. <<"model_path_grab:\t"<<m_cparam->model_path_grab << endl
  83. <<"object_threshold_grab:\t"<<m_cparam->object_threshold_grab << endl
  84. <<"nms_threshold_grab:\t"<<m_cparam->nms_threshold_grab << endl
  85. << "grid_row_grab:\t" << m_cparam->grid_row_grab << endl
  86. << "grid_col_grab:\t" << m_cparam->grid_col_grab << endl
  87. << "grid_padding_grab:\t" << m_cparam->grid_padding_grab << endl
  88. << "offset_grab:\t" << m_cparam->offset_grab << endl
  89. << "min_distance_grab:\t" << m_cparam->min_distance_grab << endl
  90. << "min_area_ratio_grab:\t" << m_cparam->min_area_ratio_grab << endl
  91. << "max_area_ratio_grab:\t" << m_cparam->max_area_ratio_grab << endl
  92. << "rot_degree_grab:\t" << m_cparam->rot_degree_grab << endl
  93. << "model_path_cut:\t" << m_cparam->model_path_cut << endl
  94. << "object_threshold_cut:\t" << m_cparam->object_threshold_cut << endl
  95. << "nms_threshold_cut:\t" << m_cparam->nms_threshold_cut << endl
  96. << "grid_row_cut:\t" << m_cparam->grid_row_cut << endl
  97. << "grid_col_cut:\t" << m_cparam->grid_col_cut << endl
  98. << "grid_padding_cut:\t" << m_cparam->grid_padding_cut << endl
  99. << "min_area_ratio_cut:\t" << m_cparam->min_area_ratio_cut << endl
  100. << "max_area_ratio_cut:\t" << m_cparam->max_area_ratio_cut << endl
  101. << "}" << endl;
  102. return buff.str();
  103. }
  104. }