#include <arm_obj_segmentation.h>
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_ | 
Definition at line 14 of file arm_obj_segmentation.h.
| 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.
| void tabletop_pushing::ArmObjSegmentation::buildBGColorModel | ( | GMM & | table_color_model, | 
| GMM & | obj_color_model | ||
| ) | 
Definition at line 454 of file arm_obj_segmentation.cpp.
| cv::Mat tabletop_pushing::ArmObjSegmentation::convertFlowToMat | ( | tabletop_pushing::GraphType * | g, | 
| tabletop_pushing::NodeTable & | nt, | ||
| int | R, | ||
| int | C | ||
| ) |  [static, protected] | 
        
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
| input_mask | The robot's projected arm mask | 
| enlarge_width | Amount to dilate the arm mask to get outer band | 
| shrink_width | Amount to erode the arm mask to get the innner band | 
| input_inverted | Set to true if arm is 0 and background is 255 | 
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.
| void tabletop_pushing::ArmObjSegmentation::loadArmColorModel | ( | std::string | file_path | ) | 
Definition at line 436 of file arm_obj_segmentation.cpp.
| void tabletop_pushing::ArmObjSegmentation::loadBGColorModel | ( | std::string | file_path | ) | 
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.
| void tabletop_pushing::ArmObjSegmentation::setBGColorModel | ( | GMM & | new_bg_model | ) | 
Definition at line 448 of file arm_obj_segmentation.cpp.
Definition at line 49 of file arm_obj_segmentation.h.
float tabletop_pushing::ArmObjSegmentation::arm_enlarge_width_ [protected] | 
        
Definition at line 43 of file arm_obj_segmentation.h.
float tabletop_pushing::ArmObjSegmentation::arm_shrink_width_ [protected] | 
        
Definition at line 44 of file arm_obj_segmentation.h.
Definition at line 50 of file arm_obj_segmentation.h.
float tabletop_pushing::ArmObjSegmentation::bg_enlarge_size_ [protected] | 
        
Definition at line 42 of file arm_obj_segmentation.h.
float tabletop_pushing::ArmObjSegmentation::bg_tied_weight_ [protected] | 
        
Definition at line 41 of file arm_obj_segmentation.h.
cv::Mat tabletop_pushing::ArmObjSegmentation::dx_kernel_ [protected] | 
        
Definition at line 48 of file arm_obj_segmentation.h.
cv::Mat tabletop_pushing::ArmObjSegmentation::dy_kernel_ [protected] | 
        
Definition at line 47 of file arm_obj_segmentation.h.
float tabletop_pushing::ArmObjSegmentation::fg_tied_weight_ [protected] | 
        
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.
float tabletop_pushing::ArmObjSegmentation::pairwise_lambda_ [protected] | 
        
Definition at line 46 of file arm_obj_segmentation.h.
float tabletop_pushing::ArmObjSegmentation::sigma_d_ [protected] | 
        
Definition at line 45 of file arm_obj_segmentation.h.