KJB
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Namespaces | Functions
psi_face_util.h File Reference
#include <i_cpp/i_image.h>
#include <m_cpp/m_matrix.h>
#include <m_cpp/m_vector.h>
#include <gr_cpp/gr_2D_bounding_box.h>
#include <people_tracking_cpp/pt_entity.h>
#include <people_tracking_cpp/pt_box_trajectory.h>
#include <people_tracking_cpp/pt_util.h>
#include <camera_cpp/perspective_camera.h>
#include <detector_cpp/d_facecom.h>

Go to the source code of this file.

Namespaces

 kjb
 Classes and functions for dealing with trajectory files.
 
 kjb::psi
 

Functions

Bbox kjb::psi::estimate_body_box (const Bbox &face_box, bool standardized=true)
 Create a body bounding box based on the detected face box. More...
 
Matrix kjb::psi::create_gaze_cone_pts (double height, double radius, const Vector &location, double pitch, double yaw, double roll, const Perspective_camera &camera)
 Create a cone whose tip is at the location, and the direction of the tip is specified by directio. More...
 
Matrix kjb::psi::create_body_part_cone_pts (double cone_length, const Bbox &part_box, const Perspective_camera &camera)
 Create a cone for the body parts specified by the body_box and the direction of the tip is specified by direction. More...
 
Matrix kjb::psi::create_cylinder_pts (double radius, double height, const Vector &location)
 Create a cylinder for the body and return the points on the cylinder. More...
 
bool kjb::psi::get_corresponding_entity (const Bbox &face_box, const pt::Box_trajectory_map &trajectories, pt::Entity_id &entity_id, size_t index, double overlapping_threshold=0.4)
 Get the corresponding person based on the location of the face. More...
 
bool kjb::psi::get_corresponding_body_box (const Bbox &face_box, Bbox &corr_body_box, const std::vector< Bbox > &body_boxes, double overlapping_threshold=0.4)
 Find the corresponding person box based on the location of the face. More...
 
bool kjb::psi::get_corresponding_face (const std::vector< Face_detection > &faces, const Bbox &body_box, Face_detection &matched_face, double overlapping_threshold=0.4)
 Get the corresponding face based on the location of the body box. More...
 
bool kjb::psi::face_inside_body_box (const Face_detection &face, const Bbox &body_box, double face_area_threshold=0.7, double body_area_threshold=0.07)
 Check if the face box belongs to the body bounding box Note: the Face_detection face_box is in image coordinate Assume the body_box is also in image coordiantes. More...
 
void kjb::psi::standardize_face_boxes (std::vector< Face_detection > &faces, double image_width, double image_height)
 Standardize face boxes. More...
 
void kjb::psi::draw_hull (const Matrix &hull_pts, const Matrix &camera_matrix, double win_width, double win_height, Image &image, const Image::Pixel_type &vertex_pix, const Image::Pixel_type &facet_pix)
 Draw hull for debugging purposes. More...
 
void kjb::psi::draw_standardized_face_box (const Face_detection &fd, Image &img, Image::Pixel_type pixel, int line_width)