1 #ifndef bwm_image_proc_h_ 2 #define bwm_image_proc_h_ 3 4 #include <iostream> 5 #include <vector> 6 #ifdef _MSC_VER 7 # include <vcl_msvc_warnings.h> 8 #endif 9 10 #include <vgl/vgl_polygon.h> 11 12 #include <bgui/bgui_image_tableau.h> 13 #include <vgui/vgui_range_map_params_sptr.h> 14 15 #include <vsol/vsol_box_2d_sptr.h> 16 #include <vsol/vsol_polygon_2d_sptr.h> 17 #include <vsol/vsol_line_2d_sptr.h> 18 #include <vsol/vsol_digital_curve_2d_sptr.h> 19 20 #include <vdgl/vdgl_digital_curve_sptr.h> 21 22 class bwm_image_processor 23 { 24 public: 25 static void hist_plot(bgui_image_tableau_sptr img, 26 vsol_polygon_2d_sptr p = nullptr); 27 28 static void intensity_profile(bgui_image_tableau_sptr img, 29 float start_col, float start_row, 30 float end_col, float end_row); 31 32 static void range_map(bgui_image_tableau_sptr img); 33 34 #if 0 35 static bool step_edges_vd(bgui_image_tableau_sptr const& img, 36 vsol_box_2d_sptr const& roi, 37 std::vector<vdgl_digital_curve_sptr>& edges); 38 #endif 39 40 static bool step_edges_vd(bgui_image_tableau_sptr const& img, 41 vsol_box_2d_sptr const& roi, 42 std::vector<vsol_digital_curve_2d_sptr>& edges); 43 44 static bool lines_vd(bgui_image_tableau_sptr const& img, 45 vsol_box_2d_sptr const& roi, 46 std::vector<vsol_line_2d_sptr>& edges); 47 48 static void scan_regions(bgui_image_tableau_sptr const& img, 49 std::vector<vgl_polygon<double> > const& regions); 50 51 static bool crop_to_box(bgui_image_tableau_sptr const& img, 52 vsol_box_2d_sptr const& roi, 53 vil_image_resource_sptr& chip); 54 55 }; 56 57 #endif 58