Go to the documentation of this file.00001
00007 #ifndef UCL_DRONE_FRAME_H
00008 #define UCL_DRONE_FRAME_H
00009 #define PCL_NO_PRECOMPILE
00010
00011 #include <ucl_drone/ucl_drone.h>
00012
00013
00014 #include <opencv2/calib3d/calib3d.hpp>
00015 #include <opencv2/core/core.hpp>
00016 #include <opencv2/imgproc/imgproc.hpp>
00017 #include <opencv2/nonfree/features2d.hpp>
00018 #include <opencv2/nonfree/nonfree.hpp>
00019
00020
00021 #include <pcl/visualization/point_cloud_geometry_handlers.h>
00022
00023 #include <pcl/common/common_headers.h>
00024 #include <pcl/point_types.h>
00025 #include <pcl/visualization/cloud_viewer.h>
00026 #include <pcl/visualization/pcl_visualizer.h>
00027 #include <pcl_conversions/pcl_conversions.h>
00028 #include <pcl_ros/point_cloud.h>
00029
00030
00031 #include <sensor_msgs/image_encodings.h>
00032
00033
00034 #include <ucl_drone/PointXYZRGBSIFT.h>
00035 #include <ucl_drone/Pose3D.h>
00036 #include <ucl_drone/ProcessedImageMsg.h>
00037
00038
00039
00040
00041
00042
00048 class Frame
00049 {
00050 private:
00051 public:
00053 Frame();
00054
00056 Frame(ucl_drone::ProcessedImageMsg::ConstPtr msg);
00057
00059 ~Frame();
00060
00066 void convertToPcl(std::vector< int >& idx_points, std::vector< cv::Point3f > points_out,
00067 int keyframe_id, pcl::PointCloud< pcl::PointXYZRGBSIFT >::Ptr& pointcloud);
00068
00073 void convertToPcl(std::vector< cv::Point3f > points_out, int keyframe_id,
00074 pcl::PointCloud< pcl::PointXYZRGBSIFT >::Ptr& pointcloud);
00075
00076
00077 ucl_drone::ProcessedImageMsg msg;
00078 std::vector< cv::Point2f > imgPoints;
00079 ucl_drone::Pose3D pose_visual_msg;
00080 cv::Mat descriptors;
00081 };
00082
00083 #endif