00001 00012 #ifndef UCL_DRONE_PROCESSED_IMAGE_H 00013 #define UCL_DRONE_PROCESSED_IMAGE_H 00014 00015 #include <ucl_drone/computer_vision/computer_vision.h> 00016 00021 class ProcessedImage 00022 { 00023 private: 00024 static int last_number_of_keypoints; 00025 ucl_drone::ProcessedImageMsg::Ptr msg; 00026 00027 public: 00028 cv_bridge::CvImagePtr cv_ptr; 00029 std::vector< cv::KeyPoint > keypoints; 00030 cv::Mat descriptors; 00031 sensor_msgs::Image image; 00032 ucl_drone::Pose3D pose; 00033 00034 ProcessedImage(); 00035 ProcessedImage(const sensor_msgs::Image image, const ucl_drone::Pose3D pose, ProcessedImage& prev, 00036 bool use_OpticalFlowPyrLK); 00037 ~ProcessedImage(); 00038 00040 void convertToMsg(ucl_drone::ProcessedImageMsg::Ptr& msg, Target target); 00041 }; 00042 00043 #endif /*UCL_DRONE_PROCESSED_IMAGE_H*/