config.cpp 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  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. << "rs_grab_xmin" << m_cparam->rs_grab_xmin
  25. << "rs_grab_xmax" << m_cparam->rs_grab_xmax
  26. << "rs_grab_ymin" << m_cparam->rs_grab_ymin
  27. << "rs_grab_ymax" << m_cparam->rs_grab_ymax
  28. << "rs_grab_zmin" << m_cparam->rs_grab_zmin
  29. << "rs_grab_zmax" << m_cparam->rs_grab_zmax
  30. << "rs_grab_stem_diameter" << m_cparam->rs_grab_stem_diameter
  31. << "rs_grab_seedling_dist" << m_cparam->rs_grab_seedling_dist
  32. << "rs_grab_stem_min_pts" << m_cparam->rs_grab_stem_min_pts
  33. << "rs_grab_seedling_min_pts" << m_cparam->rs_grab_seedling_min_pts
  34. << "rs_grab_ror_ratio" << m_cparam->rs_grab_ror_ratio
  35. << "rs_grab_offset" << m_cparam->rs_grab_offset
  36. << "rs_grab_fork_yup" << m_cparam->rs_grab_fork_yup
  37. << "rs_grab_fork_ybt" << m_cparam->rs_grab_fork_ybt
  38. << "rs_grab_holes_number" << m_cparam->rs_grab_holes_number
  39. << "sc_grab_xmin" << m_cparam->sc_grab_xmin
  40. << "sc_grab_xmax" << m_cparam->sc_grab_xmax
  41. << "sc_grab_ymin" << m_cparam->sc_grab_ymin
  42. << "sc_grab_ymax" << m_cparam->sc_grab_ymax
  43. << "sc_grab_zmin" << m_cparam->sc_grab_zmin
  44. << "sc_grab_zmax" << m_cparam->sc_grab_zmax
  45. << "sc_grab_stem_diameter" << m_cparam->sc_grab_stem_diameter
  46. << "sc_grab_seedling_dist" << m_cparam->sc_grab_seedling_dist
  47. << "sc_grab_stem_min_pts" << m_cparam->sc_grab_stem_min_pts
  48. << "sc_grab_seedling_min_pts" << m_cparam->sc_grab_seedling_min_pts
  49. << "sc_grab_ror_ratio" << m_cparam->sc_grab_ror_ratio
  50. << "sc_grab_offset" << m_cparam->sc_grab_offset
  51. << "sc_grab_fork_yup" << m_cparam->sc_grab_fork_yup
  52. << "sc_grab_fork_ybt" << m_cparam->sc_grab_fork_ybt
  53. << "sc_grab_holes_number" << m_cparam->sc_grab_holes_number
  54. << "}";
  55. };
  56. void CGCvConfig::read(const cv::FileNode& node){ //Read serialization for this class
  57. assert(m_cparam!=0);
  58. m_cparam->image_show = (bool)(int)node["image_show"];
  59. m_cparam->image_return = (bool)(int)node["image_return"];
  60. m_cparam->image_save = (bool)(int)node["image_save"];
  61. m_cparam->image_depository =(string)node["image_depository"];
  62. m_cparam->image_backup_days = (int)node["image_backup_days"];
  63. m_cparam->rs_grab_xmin = (double)node["rs_grab_xmin"];
  64. m_cparam->rs_grab_xmax = (double)node["rs_grab_xmax"];
  65. m_cparam->rs_grab_ymin = (double)node["rs_grab_ymin"];
  66. m_cparam->rs_grab_ymax = (double)node["rs_grab_ymax"];
  67. m_cparam->rs_grab_zmin = (double)node["rs_grab_zmin"];
  68. m_cparam->rs_grab_zmax = (double)node["rs_grab_zmax"];
  69. m_cparam->rs_grab_stem_diameter = (double)node["rs_grab_stem_diameter"];
  70. m_cparam->rs_grab_seedling_dist = (double)node["rs_grab_seedling_dist"];
  71. m_cparam->rs_grab_stem_min_pts = (int)node["rs_grab_stem_min_pts"];
  72. m_cparam->rs_grab_seedling_min_pts = (int)node["rs_grab_seedling_min_pts"];
  73. m_cparam->rs_grab_ror_ratio = (double)node["rs_grab_ror_ratio"];
  74. m_cparam->rs_grab_offset = (double)node["rs_grab_offset"];
  75. m_cparam->rs_grab_fork_yup = (double)node["rs_grab_fork_yup"];
  76. m_cparam->rs_grab_fork_ybt = (double)node["rs_grab_fork_ybt"];
  77. m_cparam->rs_grab_holes_number = (int)node["rs_grab_holes_number"];
  78. m_cparam->sc_grab_xmin = (double)node["sc_grab_xmin"];
  79. m_cparam->sc_grab_xmax = (double)node["sc_grab_xmax"];
  80. m_cparam->sc_grab_ymin = (double)node["sc_grab_ymin"];
  81. m_cparam->sc_grab_ymax = (double)node["sc_grab_ymax"];
  82. m_cparam->sc_grab_zmin = (double)node["sc_grab_zmin"];
  83. m_cparam->sc_grab_zmax = (double)node["sc_grab_zmax"];
  84. m_cparam->sc_grab_stem_diameter = (double)node["sc_grab_stem_diameter"];
  85. m_cparam->sc_grab_seedling_dist = (double)node["sc_grab_seedling_dist"];
  86. m_cparam->sc_grab_stem_min_pts = (int)node["sc_grab_stem_min_pts"];
  87. m_cparam->sc_grab_seedling_min_pts = (int)node["sc_grab_seedling_min_pts"];
  88. m_cparam->sc_grab_ror_ratio = (double)node["sc_grab_ror_ratio"];
  89. m_cparam->sc_grab_offset = (double)node["sc_grab_offset"];
  90. m_cparam->sc_grab_fork_yup = (double)node["sc_grab_fork_yup"];
  91. m_cparam->sc_grab_fork_ybt = (double)node["sc_grab_fork_ybt"];
  92. m_cparam->sc_grab_holes_number = (int)node["sc_grab_holes_number"];
  93. }
  94. string get_cparam_info(ConfigParam*m_cparam)
  95. {
  96. if(!m_cparam){return string("");}
  97. stringstream buff;
  98. buff << "{" << endl
  99. << "image_show:\t" << m_cparam->image_show << endl
  100. << "image_return:\t" << m_cparam->image_return << endl
  101. << "image_save:\t" << m_cparam->image_save << endl
  102. << "image_depository:\t" << m_cparam->image_depository << endl
  103. << "image_backup_days:\t" << m_cparam->image_backup_days << endl
  104. << "rs_grab_xmin:\t" << m_cparam->rs_grab_xmin << endl
  105. << "rs_grab_xmax:\t" << m_cparam->rs_grab_xmax << endl
  106. << "rs_grab_ymin:\t" << m_cparam->rs_grab_ymin << endl
  107. << "rs_grab_ymax:\t" << m_cparam->rs_grab_ymax << endl
  108. << "rs_grab_zmin:\t" << m_cparam->rs_grab_zmin << endl
  109. << "rs_grab_zmax:\t" << m_cparam->rs_grab_zmax << endl
  110. << "rs_grab_stem_diameter:\t" << m_cparam->rs_grab_stem_diameter << endl
  111. << "rs_grab_seedling_dist:\t" << m_cparam->rs_grab_seedling_dist << endl
  112. << "rs_grab_stem_min_pts:\t" << m_cparam->rs_grab_stem_min_pts << endl
  113. << "rs_grab_seedling_min_pts:\t" << m_cparam->rs_grab_seedling_min_pts << endl
  114. << "rs_grab_ror_ratio:\t" << m_cparam->rs_grab_ror_ratio << endl
  115. << "rs_grab_offset:\t" << m_cparam->rs_grab_offset << endl
  116. << "rs_grab_fork_yup:\t" << m_cparam->rs_grab_fork_yup << endl
  117. << "rs_grab_fork_ybt:\t" << m_cparam->rs_grab_fork_ybt << endl
  118. << "rs_grab_holes_number:\t" << m_cparam->rs_grab_holes_number << endl
  119. << "sc_grab_xmin:\t" << m_cparam->sc_grab_xmin << endl
  120. << "sc_grab_xmax:\t" << m_cparam->sc_grab_xmax << endl
  121. << "sc_grab_ymin:\t" << m_cparam->sc_grab_ymin << endl
  122. << "sc_grab_ymax:\t" << m_cparam->sc_grab_ymax << endl
  123. << "sc_grab_zmin:\t" << m_cparam->sc_grab_zmin << endl
  124. << "sc_grab_zmax:\t" << m_cparam->sc_grab_zmax << endl
  125. << "sc_grab_stem_diameter:\t" << m_cparam->sc_grab_stem_diameter << endl
  126. << "sc_grab_seedling_dist:\t" << m_cparam->sc_grab_seedling_dist << endl
  127. << "sc_grab_stem_min_pts:\t" << m_cparam->sc_grab_stem_min_pts << endl
  128. << "sc_grab_seedling_min_pts:\t" << m_cparam->sc_grab_seedling_min_pts << endl
  129. << "sc_grab_ror_ratio:\t" << m_cparam->sc_grab_ror_ratio << endl
  130. << "sc_grab_offset:\t" << m_cparam->sc_grab_offset << endl
  131. << "sc_grab_fork_yup:\t" << m_cparam->sc_grab_fork_yup << endl
  132. << "sc_grab_fork_ybt:\t" << m_cparam->sc_grab_fork_ybt << endl
  133. << "sc_grab_holes_number:\t" << m_cparam->sc_grab_holes_number << endl
  134. << "}" << endl;
  135. return buff.str();
  136. }
  137. }