Tries to find good parameters (which are threshold1, threshold2, blurwidth) for a given image and mask. More...
#include <AreaParameterChooserWorker.h>
Public Member Functions | |
AreaParameterChooserWorker (ros::NodeHandle &node, cv::Mat &image, cv::Mat &mask, const std::map< std::string, std::map< std::string, double > > &targetValue) | |
void | CallculateParameters (int numResults, int steps, std::vector< face_contour_detector::autoselect_result > &result) |
Private Member Functions | |
void | ApplyFilters (const std::vector< double > ¶ms, std::vector< face_contour_detector::filter_area_result > &results) |
double | CostFunction (const std::map< std::string, double > &result, const std::map< std::string, double > &targetValue) |
void | GetAreas () |
uses the area service to load the areas | |
void | ParamsFunction (const std::vector< double > ¶ms, std::map< std::string, double > &result) |
callbacks for the AutoParamterExplorer | |
void | PushFilterSetup (std::map< std::string, std::vector< std::map< std::string, double > > > ¶ms, int numResults, std::vector< face_contour_detector::autoselect_result > &result) |
void | SendStatusMessage (const std::string &message) |
Private Attributes | |
std::vector < face_contour_detector::image_area > | areas |
cv::Mat | bwimage |
std::vector < face_contour_detector::image_area > ::iterator | currArea |
cv::Mat & | image |
face_contour_detector::KdTree < double, std::map < std::string, double > > | kdTree |
cv::Mat & | mask |
ros::NodeHandle & | node |
std::map< std::string, std::map< std::string, double > > | targetValue |
Tries to find good parameters (which are threshold1, threshold2, blurwidth) for a given image and mask.
Definition at line 34 of file AreaParameterChooserWorker.h.
face_contour_detector::AreaParameterChooserWorker::AreaParameterChooserWorker | ( | ros::NodeHandle & | node, |
cv::Mat & | image, | ||
cv::Mat & | mask, | ||
const std::map< std::string, std::map< std::string, double > > & | targetValue | ||
) |
Constructor
node | ros node to call the area service |
image | the image |
mask | the mask image, this is only used to get the areas from the area service |
targetValue | contains the target values for the different areas. In this case only the "graphmass" can be set for each area |
Definition at line 14 of file AreaParameterChooserWorker.cpp.
void face_contour_detector::AreaParameterChooserWorker::ApplyFilters | ( | const std::vector< double > & | params, |
std::vector< face_contour_detector::filter_area_result > & | results | ||
) | [private] |
applies the filters and returns the result properties (currently only returns the graphmass) Note: this not beeing used currently
params | the parameters (threshold1, threshold2, blurwidth) |
results | the results |
Definition at line 268 of file AreaParameterChooserWorker.cpp.
void face_contour_detector::AreaParameterChooserWorker::CallculateParameters | ( | int | numResults, |
int | steps, | ||
std::vector< face_contour_detector::autoselect_result > & | result | ||
) |
Starts the search for good values for Canny->threshold1, Canny->threshold2 and GaussianBlur->width/height
numResults | the number of results that should be returned |
steps | the maximum number of subdivision steps that should be taken by the AutoParameterExplorer |
result | the filter setup results, this can be send to the display_on_gui service directly |
Definition at line 498 of file AreaParameterChooserWorker.cpp.
double face_contour_detector::AreaParameterChooserWorker::CostFunction | ( | const std::map< std::string, double > & | result, |
const std::map< std::string, double > & | targetValue | ||
) | [private] |
Definition at line 128 of file AreaParameterChooserWorker.cpp.
void face_contour_detector::AreaParameterChooserWorker::GetAreas | ( | ) | [private] |
uses the area service to load the areas
Definition at line 24 of file AreaParameterChooserWorker.cpp.
void face_contour_detector::AreaParameterChooserWorker::ParamsFunction | ( | const std::vector< double > & | params, |
std::map< std::string, double > & | result | ||
) | [private] |
callbacks for the AutoParamterExplorer
Definition at line 76 of file AreaParameterChooserWorker.cpp.
void face_contour_detector::AreaParameterChooserWorker::PushFilterSetup | ( | std::map< std::string, std::vector< std::map< std::string, double > > > & | params, |
int | numResults, | ||
std::vector< face_contour_detector::autoselect_result > & | result | ||
) | [private] |
Definition at line 142 of file AreaParameterChooserWorker.cpp.
void face_contour_detector::AreaParameterChooserWorker::SendStatusMessage | ( | const std::string & | message | ) | [private] |
sends out a status message to the main gui
message | the message being sent |
Definition at line 485 of file AreaParameterChooserWorker.cpp.
std::vector<face_contour_detector::image_area> face_contour_detector::AreaParameterChooserWorker::areas [private] |
Definition at line 74 of file AreaParameterChooserWorker.h.
cv::Mat face_contour_detector::AreaParameterChooserWorker::bwimage [private] |
Definition at line 71 of file AreaParameterChooserWorker.h.
std::vector<face_contour_detector::image_area>::iterator face_contour_detector::AreaParameterChooserWorker::currArea [private] |
Definition at line 75 of file AreaParameterChooserWorker.h.
cv::Mat& face_contour_detector::AreaParameterChooserWorker::image [private] |
Definition at line 70 of file AreaParameterChooserWorker.h.
face_contour_detector::KdTree<double, std::map<std::string, double> > face_contour_detector::AreaParameterChooserWorker::kdTree [private] |
Definition at line 79 of file AreaParameterChooserWorker.h.
cv::Mat& face_contour_detector::AreaParameterChooserWorker::mask [private] |
Definition at line 72 of file AreaParameterChooserWorker.h.
Definition at line 69 of file AreaParameterChooserWorker.h.
std::map<std::string, std::map<std::string, double> > face_contour_detector::AreaParameterChooserWorker::targetValue [private] |
Definition at line 77 of file AreaParameterChooserWorker.h.