00001 #include "vpro_region_process.h" 00002 //: 00003 // \file 00004 #include <vcl_iostream.h> 00005 #include <vil1/vil1_memory_image_of.h> 00006 #include <vcl_vector.h> 00007 #include <vtol/vtol_intensity_face_sptr.h> 00008 #include <vtol/vtol_intensity_face.h> 00009 #include <sdet/sdet_region_proc.h> 00010 00011 vpro_region_process::vpro_region_process(sdet_detector_params & dp) 00012 : sdet_detector_params(dp) 00013 { 00014 } 00015 00016 vpro_region_process::~vpro_region_process() 00017 { 00018 } 00019 00020 bool vpro_region_process::execute() 00021 { 00022 if (this->get_N_input_images() != 1) 00023 { 00024 vcl_cout << "In vpro_region_process::execute() - not exactly one input image\n"; 00025 return false; 00026 } 00027 output_topo_objs_.clear(); 00028 //assume the input images are grey scale (should really check) 00029 vil1_memory_image_of<unsigned char> img(vpro_video_process::get_input_image(0)); 00030 00031 sdet_region_proc_params rpp((*(sdet_detector_params*)this), true, false, 2); 00032 sdet_region_proc rp(rpp); 00033 rp.set_image(img); 00034 rp.extract_regions(); 00035 vcl_vector<vtol_intensity_face_sptr>& regions = rp.get_regions(); 00036 for (vcl_vector<vtol_intensity_face_sptr>::iterator fit = regions.begin(); 00037 fit != regions.end(); fit++) 00038 output_topo_objs_.push_back((*fit)->cast_to_topology_object()); 00039 output_image_ = 0; 00040 return true; 00041 }
1.7.5.1