$search
00001 /* 00002 * outlet_detector.h 00003 * outlet_sample 00004 * 00005 * Created by Victor Eruhimov on 2/19/09. 00006 * Copyright 2009 Argus Corp. All rights reserved. 00007 * 00008 */ 00009 00010 #if !defined(_OUTLET_DETECTOR_H) 00011 #define _OUTLET_DETECTOR_H 00012 00013 #include <vector> 00014 00015 #include "outlet_pose_estimation/detail/outlet_model.h" 00016 00017 00018 // detect_outlet_tuple: high-level function for detecting 4 orange outlets 00019 // Input parameters: 00020 // src: input color image 00021 // intrinsic_matrix: camera matrix of intrinsic parameters 00022 // distortion_params: vector of distortion parameters 00023 // outlets: output vector of outlets 00024 // outlet_templ: a geometrical template for an array of outlets 00025 // output_path, filename: optional path and filename for logging the results 00026 // Return value: 1 in case of success (found 4 outlets), 0 otherwise. 00027 int detect_outlet_tuple(IplImage* src, CvMat* intrinsic_matrix, CvMat* distortion_params, 00028 std::vector<outlet_t>& outlets, const outlet_template_t& outlet_templ = outlet_template_t(), 00029 const char* output_path = 0, const char* filename = 0, float* scale_ranges = 0); 00030 00031 int detect_outlet_tuple_2x2_orange(IplImage* src, CvMat* intrinsic_matrix, CvMat* distortion_params, 00032 std::vector<outlet_t>& outlets, const outlet_template_t& outlet_templ, 00033 const char* output_path, const char* filename); 00034 00035 int detect_outlet_tuple_2x1(IplImage* src, CvMat* intrinsic_matrix, CvMat* distortion_params, 00036 std::vector<outlet_t>& outlets, const outlet_template_t& outlet_templ, 00037 const char* output_path, const char* filename); 00038 00039 int detect_outlet_tuple_2x1_orange(IplImage* src, CvMat* intrinsic_matrix, CvMat* distortion_params, 00040 std::vector<outlet_t>& outlets, const outlet_template_t& outlet_templ, 00041 const char* output_path, const char* filename); 00042 00043 void features2outlets_2x1(const std::vector<feature_t>& features, std::vector<outlet_t>& outlets); 00044 00045 void calc_outlet_3d_coord_2x2(CvMat* intrinsic_matrix, const outlet_template_t& outlet_templ, std::vector<outlet_t>& outlets); 00046 00047 00048 #endif //_OUTLET_DETECTOR_H