Public Types | Public Member Functions | Public Attributes
MotionGraphcut Class Reference

List of all members.

Public Types

enum  SegLabels { MOVING, ARM, TABLE, BG }

Public Member Functions

cv::Mat convertFlowResultsToCvMat (GraphType *g, int R, int C)
cv::Mat convertFlowResultsToCvMat (GraphType *g, int R, int C, cv::Rect roi, cv::Size out_size)
float getArmFGScore (cv::Mat &color_frame, cv::Mat &depth_frame, int r, int c, std::vector< cv::Vec3f > &arm_stats, std::vector< cv::Vec3f > &hand_stats, ArmModel &arms, cv::Rect &roi)
float getEdgeWeight (cv::Vec3f c0, float d0, cv::Vec3f c1, float d1)
float getFlowFGScore (float magnitude)
std::vector< cv::Vec3f > getImagePointGaussian (cv::Mat &color_frame, std::vector< cv::Point > points, int min_x=0, int min_y=0)
float getTableScore (cv::Vec3f cur_c, float height_from_table)
 MotionGraphcut (double workspace_background_weight=1.0f, double min_weight=0.01, double magnitude_thresh=0.1, double flow_gain=0.3, int arm_grow_radius=2)
cv::Mat operator() (cv::Mat &color_frame, cv::Mat &depth_frame, cv::Mat &u, cv::Mat &v, cv::Mat &workspace_mask, cv::Mat &table_heights, ArmModel arm_locs)
cv::Mat segmentRobotArm (cv::Mat &color_frame_in, cv::Mat &depth_frame_in, cv::Mat &workspace_mask_in, ArmModel &arms, int min_arm_x, int max_arm_x, int min_arm_y, int max_arm_y)
void setTableColorStats (cv::Mat &color_frame, std::vector< cv::Point > &pts)
virtual ~MotionGraphcut ()

Public Attributes

double arm_alpha_
double arm_beta_
double arm_color_var_add_
double arm_dist_var_
int arm_grow_radius_
int arm_search_radius_
double flow_gain_
double magnitude_thresh_
double min_weight_
double table_height_var_
std::vector< cv::Vec3f > table_stats_
double w_c_alpha_
double w_c_beta_
double w_c_gamma_
double workspace_background_weight_

Detailed Description

Definition at line 160 of file motion_graphcut.cpp.


Member Enumeration Documentation

Enumerator:
MOVING 
ARM 
TABLE 
BG 

Definition at line 670 of file motion_graphcut.cpp.


Constructor & Destructor Documentation

MotionGraphcut::MotionGraphcut ( double  workspace_background_weight = 1.0f,
double  min_weight = 0.01,
double  magnitude_thresh = 0.1,
double  flow_gain = 0.3,
int  arm_grow_radius = 2 
) [inline]

Definition at line 163 of file motion_graphcut.cpp.

virtual MotionGraphcut::~MotionGraphcut ( ) [inline, virtual]

Definition at line 172 of file motion_graphcut.cpp.


Member Function Documentation

cv::Mat MotionGraphcut::convertFlowResultsToCvMat ( GraphType g,
int  R,
int  C 
) [inline]

Definition at line 631 of file motion_graphcut.cpp.

cv::Mat MotionGraphcut::convertFlowResultsToCvMat ( GraphType g,
int  R,
int  C,
cv::Rect  roi,
cv::Size  out_size 
) [inline]

Definition at line 646 of file motion_graphcut.cpp.

float MotionGraphcut::getArmFGScore ( cv::Mat &  color_frame,
cv::Mat &  depth_frame,
int  r,
int  c,
std::vector< cv::Vec3f > &  arm_stats,
std::vector< cv::Vec3f > &  hand_stats,
ArmModel arms,
cv::Rect &  roi 
) [inline]

Definition at line 526 of file motion_graphcut.cpp.

float MotionGraphcut::getEdgeWeight ( cv::Vec3f  c0,
float  d0,
cv::Vec3f  c1,
float  d1 
) [inline]

Definition at line 661 of file motion_graphcut.cpp.

float MotionGraphcut::getFlowFGScore ( float  magnitude) [inline]

Definition at line 501 of file motion_graphcut.cpp.

std::vector<cv::Vec3f> MotionGraphcut::getImagePointGaussian ( cv::Mat &  color_frame,
std::vector< cv::Point points,
int  min_x = 0,
int  min_y = 0 
) [inline]

Definition at line 559 of file motion_graphcut.cpp.

float MotionGraphcut::getTableScore ( cv::Vec3f  cur_c,
float  height_from_table 
) [inline]

Definition at line 506 of file motion_graphcut.cpp.

cv::Mat MotionGraphcut::operator() ( cv::Mat &  color_frame,
cv::Mat &  depth_frame,
cv::Mat &  u,
cv::Mat &  v,
cv::Mat &  workspace_mask,
cv::Mat &  table_heights,
ArmModel  arm_locs 
) [inline]

Segment moving stuff from static stuff using graphcut

Parameters:
color_frameThe current color image to segment
depth_frameThe current depth image to segment
uFlow dx/dt
vFlow dy/dt
eigen_scoresScores corresponding to texture at the point
workspace_maskBinary image where white is valid locations for things to be moving at
arm_locsImage locations of projected arm kinematics
Returns:
A binary image where white is the foreground (moving) regions and black is the background (static) regions

Definition at line 191 of file motion_graphcut.cpp.

cv::Mat MotionGraphcut::segmentRobotArm ( cv::Mat &  color_frame_in,
cv::Mat &  depth_frame_in,
cv::Mat &  workspace_mask_in,
ArmModel arms,
int  min_arm_x,
int  max_arm_x,
int  min_arm_y,
int  max_arm_y 
) [inline]

Method to segment the arm from the rest of the stuff moving in the scene

Parameters:
color_frameCurrent color frame
depth_frameCurrent depth frame
moving_maskBinary image representing where the moving stuff is
workspace_maskBinary image where white is valid locations for things to be moving at
armsPosition of the arm projected into the image frame
Returns:
Mask of the predicted arm in the image

Definition at line 334 of file motion_graphcut.cpp.

void MotionGraphcut::setTableColorStats ( cv::Mat &  color_frame,
std::vector< cv::Point > &  pts 
) [inline]

Definition at line 622 of file motion_graphcut.cpp.


Member Data Documentation

Definition at line 688 of file motion_graphcut.cpp.

Definition at line 689 of file motion_graphcut.cpp.

Definition at line 687 of file motion_graphcut.cpp.

Definition at line 686 of file motion_graphcut.cpp.

Definition at line 690 of file motion_graphcut.cpp.

Definition at line 691 of file motion_graphcut.cpp.

Definition at line 684 of file motion_graphcut.cpp.

Definition at line 683 of file motion_graphcut.cpp.

Definition at line 679 of file motion_graphcut.cpp.

Definition at line 685 of file motion_graphcut.cpp.

Definition at line 692 of file motion_graphcut.cpp.

Definition at line 680 of file motion_graphcut.cpp.

Definition at line 681 of file motion_graphcut.cpp.

Definition at line 682 of file motion_graphcut.cpp.

Definition at line 678 of file motion_graphcut.cpp.


The documentation for this class was generated from the following file:


tabletop_pushing
Author(s): Tucker Hermans
autogenerated on Wed Nov 27 2013 11:59:45