Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
tabletop_pushing::ArmObjSegmentation Class Reference

#include <arm_obj_segmentation.h>

List of all members.

Public Member Functions

 ArmObjSegmentation (float fg_tied_weight=10.0, float bg_tied_weight=10.0, float bg_enlarge_size=100, float arm_enlarge_width=15, float arm_shrink_width_=15, float sigma=1.0, float lambda=5.0)
void buildBGColorModel (GMM &table_color_model, GMM &obj_color_model)
void loadArmColorModel (std::string file_path)
void loadBGColorModel (std::string file_path)
cv::Mat segment (cv::Mat &color_img, cv::Mat &depth_img, cv::Mat &self_mask, cv::Mat &table_mask, bool init_color_models=true)
void setBGColorModel (GMM &new_bg_model)

Static Public Member Functions

static cv::Mat getArmBand (cv::Mat &input_mask, int enlarge_width, int shrink_width, bool input_inverted=true)
static cv::Mat getArmBand (cv::Mat &input_mask, int enlarge_width, int shrink_width, bool input_inverted, cv::Mat &larger_mask, cv::Mat &smaller_mask)

Protected Member Functions

float getEdgeWeightBoundary (float c0, float d0, float c1, float d1)
cv::Mat getXImageDeriv (cv::Mat &color_img)
cv::Mat getYImageDeriv (cv::Mat &color_img)

Static Protected Member Functions

static cv::Mat convertFlowToMat (tabletop_pushing::GraphType *g, tabletop_pushing::NodeTable &nt, int R, int C)
static GMM getGMMColorModel (cv::Mat &samples, cv::Mat &mask, int nc=10)
static cv::Mat getMorphCross (int img_size, int cross_width)
static float getUnaryWeight (cv::Vec3f sample, GMM &fg_color_model)

Protected Attributes

GMM arm_color_model_
float arm_enlarge_width_
float arm_shrink_width_
GMM bg_color_model_
float bg_enlarge_size_
float bg_tied_weight_
cv::Mat dx_kernel_
cv::Mat dy_kernel_
float fg_tied_weight_
bool have_arm_color_model_
bool have_bg_color_model_
float pairwise_lambda_
float sigma_d_

Detailed Description

Definition at line 14 of file arm_obj_segmentation.h.


Constructor & Destructor Documentation

tabletop_pushing::ArmObjSegmentation::ArmObjSegmentation ( float  fg_tied_weight = 10.0,
float  bg_tied_weight = 10.0,
float  bg_enlarge_size = 100,
float  arm_enlarge_width = 15,
float  arm_shrink_width_ = 15,
float  sigma = 1.0,
float  lambda = 5.0 
)

Definition at line 61 of file arm_obj_segmentation.cpp.


Member Function Documentation

void tabletop_pushing::ArmObjSegmentation::buildBGColorModel ( GMM table_color_model,
GMM obj_color_model 
)

Definition at line 454 of file arm_obj_segmentation.cpp.

Definition at line 326 of file arm_obj_segmentation.cpp.

cv::Mat tabletop_pushing::ArmObjSegmentation::getArmBand ( cv::Mat &  input_mask,
int  enlarge_width,
int  shrink_width,
bool  input_inverted = true 
) [static]

Definition at line 367 of file arm_obj_segmentation.cpp.

cv::Mat tabletop_pushing::ArmObjSegmentation::getArmBand ( cv::Mat &  input_mask,
int  enlarge_width,
int  shrink_width,
bool  input_inverted,
cv::Mat &  larger_mask,
cv::Mat &  smaller_mask 
) [static]

Method to create a mask near the perimeter of the robots projected arm mask

Parameters:
input_maskThe robot's projected arm mask
enlarge_widthAmount to dilate the arm mask to get outer band
shrink_widthAmount to erode the arm mask to get the innner band
input_invertedSet to true if arm is 0 and background is 255
Returns:
A binary image of the band near the edges of the robot arm

Definition at line 384 of file arm_obj_segmentation.cpp.

float tabletop_pushing::ArmObjSegmentation::getEdgeWeightBoundary ( float  c0,
float  d0,
float  c1,
float  d1 
) [protected]

Definition at line 343 of file arm_obj_segmentation.cpp.

GMM tabletop_pushing::ArmObjSegmentation::getGMMColorModel ( cv::Mat &  samples,
cv::Mat &  mask,
int  nc = 10 
) [static, protected]

Definition at line 406 of file arm_obj_segmentation.cpp.

cv::Mat tabletop_pushing::ArmObjSegmentation::getMorphCross ( int  img_size,
int  cross_width 
) [static, protected]

Definition at line 308 of file arm_obj_segmentation.cpp.

float tabletop_pushing::ArmObjSegmentation::getUnaryWeight ( cv::Vec3f  sample,
GMM fg_color_model 
) [static, protected]

Definition at line 430 of file arm_obj_segmentation.cpp.

cv::Mat tabletop_pushing::ArmObjSegmentation::getXImageDeriv ( cv::Mat &  color_img) [protected]

Definition at line 351 of file arm_obj_segmentation.cpp.

cv::Mat tabletop_pushing::ArmObjSegmentation::getYImageDeriv ( cv::Mat &  color_img) [protected]

Definition at line 359 of file arm_obj_segmentation.cpp.

Definition at line 436 of file arm_obj_segmentation.cpp.

Definition at line 442 of file arm_obj_segmentation.cpp.

cv::Mat tabletop_pushing::ArmObjSegmentation::segment ( cv::Mat &  color_img,
cv::Mat &  depth_img,
cv::Mat &  self_mask,
cv::Mat &  table_mask,
bool  init_color_models = true 
)

Definition at line 74 of file arm_obj_segmentation.cpp.

Definition at line 448 of file arm_obj_segmentation.cpp.


Member Data Documentation

Definition at line 49 of file arm_obj_segmentation.h.

Definition at line 43 of file arm_obj_segmentation.h.

Definition at line 44 of file arm_obj_segmentation.h.

Definition at line 50 of file arm_obj_segmentation.h.

Definition at line 42 of file arm_obj_segmentation.h.

Definition at line 41 of file arm_obj_segmentation.h.

Definition at line 48 of file arm_obj_segmentation.h.

Definition at line 47 of file arm_obj_segmentation.h.

Definition at line 40 of file arm_obj_segmentation.h.

Definition at line 51 of file arm_obj_segmentation.h.

Definition at line 52 of file arm_obj_segmentation.h.

Definition at line 46 of file arm_obj_segmentation.h.

Definition at line 45 of file arm_obj_segmentation.h.


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


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