#include <ros/ros.h>#include <tf/transform_datatypes.h>#include <Eigen/Core>#include <QString>#include <QMatrix4x4>#include <ctime>#include <limits>#include "parameter_server.h"#include <cv.h>#include <g2o/math_groups/se3quat.h>#include <pcl_ros/transforms.h>#include <sensor_msgs/Image.h>#include <sensor_msgs/CameraInfo.h>
Go to the source code of this file.
Functions | |
| bool | asyncFrameDrop (ros::Time depth, ros::Time rgb) |
| Return true if frames should be dropped because they are asynchronous. | |
| DescriptorExtractor * | createDescriptorExtractor (const string &descriptorType) |
| FeatureDetector * | createDetector (const string &detectorType) |
| Analog to opencv example file and modified to use adjusters. | |
| pointcloud_type * | createXYZRGBPointCloud (const sensor_msgs::ImageConstPtr &depth_msg, const sensor_msgs::ImageConstPtr &rgb_msg, const sensor_msgs::CameraInfoConstPtr &cam_info) |
| Creates a pointcloud from rgb8 or mono8 coded images + float depth. | |
| void | depthToCV8UC1 (const cv::Mat &float_img, cv::Mat &mono8_img) |
| Convert the CV_32FC1 image to CV_8UC1 with a fixed scale factor. | |
| g2o::SE3Quat | eigen2G2O (const Eigen::Matrix4d &eigen_mat) |
| Conversion Function. | |
| double | errorFunction (const Eigen::Vector4f &x1, const double x1_depth_cov, const Eigen::Vector4f &x2, const double x2_depth_cov, const Eigen::Matrix4f &tf_1_to_2) |
| double | errorFunction2 (const Eigen::Vector4f &x1, const Eigen::Vector4f &x2, const Eigen::Matrix4f &tf_1_to_2) |
| QMatrix4x4 | g2o2QMatrix (const g2o::SE3Quat se3) |
| Conversion Function. | |
| tf::Transform | g2o2TF (const g2o::SE3Quat se3) |
| Conversion Function. | |
| float | getMinDepthInNeighborhood (const cv::Mat &depth, cv::Point2f center, float diameter) |
| bool | isBigTrafo (const Eigen::Matrix4f &t) |
| bool | isBigTrafo (const g2o::SE3Quat &t) |
| void | logTransform (QTextStream &out, const tf::Transform &t, double timestamp, const char *label) |
| Write Transformation to textstream. | |
| void | mat2components (const Eigen::Matrix4f &t, double &roll, double &pitch, double &yaw, double &dist) |
| get euler angles and translation from 4x4 homogenous | |
| void | mat2dist (const Eigen::Matrix4f &t, double &dist) |
| get translation-distance from 4x4 homogenous | |
| void | mat2RPY (const Eigen::Matrix4f &t, double &roll, double &pitch, double &yaw) |
| Get euler angles from affine matrix (helper for isBigTrafo) | |
| std::string | openCVCode2String (unsigned int code) |
| Return the macro string for the cv::Mat type integer. | |
| geometry_msgs::Point | pointInWorldFrame (const Eigen::Vector4f &point3d, g2o::SE3Quat transf) |
| void | printMatrixInfo (cv::Mat &image, std::string name) |
| Print Type and size of image. | |
| void | printQMatrix4x4 (const char *name, const QMatrix4x4 &m) |
| void | printTransform (const char *name, const tf::Transform t) |
| g2o::SE3Quat | tf2G2O (const tf::Transform t) |
| Conversion Function. | |
| void | transformAndAppendPointCloud (const pointcloud_type &cloud_in, pointcloud_type &cloud_to_append_to, const tf::Transform transformation, float max_Depth) |
| Apply an affine transform defined by an Eigen Transform. | |
| bool asyncFrameDrop | ( | ros::Time | depth, |
| ros::Time | rgb | ||
| ) |
| DescriptorExtractor* createDescriptorExtractor | ( | const string & | descriptorType | ) |
| FeatureDetector* createDetector | ( | const string & | detectorType | ) |
| pointcloud_type* createXYZRGBPointCloud | ( | const sensor_msgs::ImageConstPtr & | depth_msg, |
| const sensor_msgs::ImageConstPtr & | rgb_msg, | ||
| const sensor_msgs::CameraInfoConstPtr & | cam_info | ||
| ) |
| void depthToCV8UC1 | ( | const cv::Mat & | float_img, |
| cv::Mat & | mono8_img | ||
| ) |
| g2o::SE3Quat eigen2G2O | ( | const Eigen::Matrix4d & | eigen_mat | ) |
| double errorFunction | ( | const Eigen::Vector4f & | x1, |
| const double | x1_depth_cov, | ||
| const Eigen::Vector4f & | x2, | ||
| const double | x2_depth_cov, | ||
| const Eigen::Matrix4f & | tf_1_to_2 | ||
| ) |
| double errorFunction2 | ( | const Eigen::Vector4f & | x1, |
| const Eigen::Vector4f & | x2, | ||
| const Eigen::Matrix4f & | tf_1_to_2 | ||
| ) |
| QMatrix4x4 g2o2QMatrix | ( | const g2o::SE3Quat | se3 | ) |
| tf::Transform g2o2TF | ( | const g2o::SE3Quat | se3 | ) |
| float getMinDepthInNeighborhood | ( | const cv::Mat & | depth, |
| cv::Point2f | center, | ||
| float | diameter | ||
| ) |
| bool isBigTrafo | ( | const Eigen::Matrix4f & | t | ) |
| bool isBigTrafo | ( | const g2o::SE3Quat & | t | ) |
| void logTransform | ( | QTextStream & | out, |
| const tf::Transform & | t, | ||
| double | timestamp, | ||
| const char * | label | ||
| ) |
| void mat2components | ( | const Eigen::Matrix4f & | t, |
| double & | roll, | ||
| double & | pitch, | ||
| double & | yaw, | ||
| double & | dist | ||
| ) |
| void mat2dist | ( | const Eigen::Matrix4f & | t, |
| double & | dist | ||
| ) |
| void mat2RPY | ( | const Eigen::Matrix4f & | t, |
| double & | roll, | ||
| double & | pitch, | ||
| double & | yaw | ||
| ) |
| std::string openCVCode2String | ( | unsigned int | code | ) |
| geometry_msgs::Point pointInWorldFrame | ( | const Eigen::Vector4f & | point3d, |
| g2o::SE3Quat | transf | ||
| ) |
| void printMatrixInfo | ( | cv::Mat & | image, |
| std::string | name | ||
| ) |
| void printQMatrix4x4 | ( | const char * | name, |
| const QMatrix4x4 & | m | ||
| ) |
| void printTransform | ( | const char * | name, |
| const tf::Transform | t | ||
| ) |
| g2o::SE3Quat tf2G2O | ( | const tf::Transform | t | ) |
| void transformAndAppendPointCloud | ( | const pointcloud_type & | cloud_in, |
| pointcloud_type & | cloud_to_append_to, | ||
| const tf::Transform | transformation, | ||
| float | max_Depth | ||
| ) |
Apply an affine transform defined by an Eigen Transform.
Helper function to aggregate pointclouds in a single coordinate frame.
| cloud_in | the input point cloud |
| cloud_to_append_to | the transformed cloud will be appended to this one |
| transform | a tf::Transform stating the transformation of cloud_to_append_to relative to cloud_in |