computer_vision.h
Go to the documentation of this file.
00001 
00013 #ifndef UCL_DRONE_COMPUTER_VISION_H
00014 #define UCL_DRONE_COMPUTER_VISION_H
00015 #define PCL_NO_PRECOMPILE
00016 
00017 // #define USE_PROFILING
00018 #include <ucl_drone/profiling.h>
00019 
00020 #include <boost/shared_ptr.hpp>
00021 
00022 // ROS Header files
00023 #include <ros/package.h>
00024 #include <ros/ros.h>
00025 
00026 #include <ucl_drone/ucl_drone.h>
00027 
00028 // vision
00029 #include <cv_bridge/cv_bridge.h>
00030 #include <image_transport/image_transport.h>
00031 #include <opencv2/calib3d/calib3d.hpp>
00032 #include <opencv2/core/core.hpp>
00033 #include <opencv2/highgui/highgui.hpp>
00034 #include <opencv2/imgproc/imgproc.hpp>
00035 #include <opencv2/nonfree/features2d.hpp>
00036 #include <opencv2/nonfree/gpu.hpp>
00037 #include <opencv2/nonfree/nonfree.hpp>
00038 #include <opencv2/nonfree/ocl.hpp>
00039 #include <opencv2/ocl/ocl.hpp>
00040 #include <opencv2/video/tracking.hpp>
00041 
00042 // messages
00043 #include <ardrone_autonomy/CamSelect.h>
00044 #include <ardrone_autonomy/Navdata.h>
00045 #include <sensor_msgs/image_encodings.h>
00046 #include <std_msgs/Empty.h>
00047 #include <std_srvs/Empty.h>
00048 #include <ucl_drone/Pose3D.h>
00049 #include <ucl_drone/ProcessedImageMsg.h>
00050 
00051 // Choose one detector in function of what is defined in ucl_drone.h
00052 
00053 #if DETECTOR_TYPE == TYPE_SIFT
00054 // static const cv::SIFT detector(0, 3, 0.1, 20, 3);
00055 static const cv::SIFT detector(0, 3, 0.1, 15, 2);
00056 
00057 #elif DETECTOR_TYPE == TYPE_SURF
00058 // static const cv::SurfFeatureDetector detector(8000, 8, 3);
00059 // static const cv::SurfFeatureDetector detector(4000, 6, 4, false);
00060 // static const cv::SurfFeatureDetector detector(2000, 8, 3, false);
00061 static const cv::SurfFeatureDetector detector(1800, 6, 3, false);
00062 
00063 #elif DETECTOR_TYPE == TYPE_FAST
00064 static const cv::FastFeatureDetector detector(50);
00065 
00066 #elif DETECTOR_TYPE == TYPE_BRISK
00067 static const cv::BRISK detector;
00068 
00069 #elif DETECTOR_TYPE == TYPE_ORB
00070 static const cv::OrbFeatureDetector detector(200, 1.4f, 5, 60, 2, 2, cv::ORB::HARRIS_SCORE, 60);
00071 #endif
00072 
00073 // Choose one descriptor in function of what is defined in ucl_drone.h
00074 
00075 #if EXTRACTOR_TYPE == TYPE_SIFT
00076 static const cv::SiftDescriptorExtractor extractor;
00077 
00078 #elif EXTRACTOR_TYPE == TYPE_SURF
00079 static const cv::SurfDescriptorExtractor extractor(4000, 6, 4, false);
00080 
00081 #elif EXTRACTOR_TYPE == TYPE_SURF_128
00082 static const cv::SurfDescriptorExtractor extractor(4000, 6, 4, true);
00083 
00084 #elif EXTRACTOR_TYPE == TYPE_ORB
00085 static const cv::OrbDescriptorExtractor extractor;
00086 
00087 #elif EXTRACTOR_TYPE == TYPE_FREAK
00088 static const cv::FREAK extractor;
00089 
00090 #endif
00091 
00092 // ucl_drone
00093 
00094 #include <ucl_drone/opencv_utils.h>
00095 
00096 #include <ucl_drone/map/projection_2D.h>
00097 
00098 #include <ucl_drone/computer_vision/target.h>
00099 
00100 #include <ucl_drone/computer_vision/processed_image.h>
00101 
00102 #include <ucl_drone/computer_vision/image_processor.h>
00103 
00104 #endif /* UCL_DRONE_COMPUTER_VISION_H */


ucl_drone
Author(s): dronesinma
autogenerated on Sat Jun 8 2019 20:51:53