#include <vvid_file_manager.h>

A vector of images with enclosing image and easy2D tableaux is cached so that computed overlays such as Harris corners can be played back quickly. The cache option can be turned off if one is going to just play the video and not apply image segmentation processing to the frames.
A demo of overlaying points on the video is provide by easy2D_demo to get rid of the points, reload the video
It is planned to extend the class to handle multiple panes (grid locations) so that different (or the same) videos can be playing simultaneously in different zoom states as well as pause states. This extension will the state variables to be changed to vectors as well as having multiple caches.. etc.
Known problems:
Definition at line 56 of file vvid_file_manager.h.
Public Member Functions | |
| vvid_file_manager () | |
| ~vvid_file_manager () | |
| unsigned | get_height () const |
| height (in pixels) of the video frame. | |
| unsigned | get_width () const |
| width (in pixels) of the video frame. | |
| void | quit () |
| quit the application. | |
| void | load_video_file () |
| load each frame of the video into a cached vector of overlays if caching is enabled. | |
| void | play_video () |
| loop through the frames and display. | |
| void | pause_video () |
| stop at the current frame. | |
| void | stop_video () |
| stop playing and return to the first frame. | |
| void | start_frame () |
| pops up a dialog to indicate what frame to start play. | |
| void | end_frame () |
| pops up a dialog to indicate what frame to start play. | |
| void | next_frame () |
| index to the next frame (must be paused). | |
| void | prev_frame () |
| index to the previous frame (must be paused). | |
| void | set_speed () |
| set the frame rate. | |
| void | easy2D_tableau_demo () |
| a demo of spatial overlays on the video (scrolling points). | |
| void | no_op () |
| No operation. | |
| void | difference_frames () |
| show the difference of sequential frames. | |
| void | compute_motion () |
| show the motion condition. | |
| void | compute_lucas_kanade () |
| show the Lucas-Kanade vectors as color. | |
| void | compute_harris_corners () |
| show the Harris corners. | |
| void | compute_vd_edges () |
| show VanDuc edges. | |
| void | compute_line_fit () |
| show fit lines. | |
| void | compute_grid_match () |
| show matches of calibration grid. | |
| void | compute_corr_tracking () |
| show correlation tracking. | |
| void | compute_info_tracking () |
| show mutual information tracking. | |
| void | display_poly_track () |
| display a tracked polygon. | |
| void | display_art_model_track () |
| display a tracked art model. | |
| void | start_save_display () |
| enable display movie generation. | |
| void | end_save_display () |
| enable display movie generation. | |
| void | generate_basis_sequence () |
| generate a basis sequence. | |
| void | compute_fourier_transform () |
| compute fourier transform. | |
| void | spatial_filter () |
| compute fourier transform. | |
| void | create_box () |
| create a box by rubberbanding. | |
| void | create_polygon () |
| create a polygon by rubberbanding. | |
| void | create_stem () |
| create the elements of the art model. | |
| void | create_long_arm_tip () |
| void | create_short_arm_tip () |
| void | create_background_model () |
| create a background model polygon. | |
| void | exercise_art_model () |
| test model. | |
| void | track_art_model () |
| process_art_model. | |
| void | display_ihs () |
| display intensity hue and saturation. | |
| void | save_frame () |
| save the current frame in pane 0. | |
| void | save_half_res () |
| save half resolution version of the current video. | |
| void | display_tracked_hist_data () |
| display tracked histogram feature data. | |
| void | capture_feature_data () |
| capture feature data from stored track. | |
| void | capture_snippets () |
| capture snippets. | |
| vgui_window * | get_window () |
| get the window of this player. | |
| void | set_window (vgui_window *win) |
| set the window. | |
| virtual bool | handle (const vgui_event &) |
| tableau handle function. | |
| bool | add_child (vgui_tableau_sptr const &) |
| bool | remove_child (vgui_tableau_sptr const &) |
| vcl_string | file_name () const |
| vcl_string | pretty_name () const |
| vcl_string | type_name () const |
| bool | get_bounding_box (float low[3], float high[3]) const |
| virtual vcl_string | name () const |
| void | get_parents (vcl_vector< vgui_tableau_sptr > *out) const |
| void | get_children (vcl_vector< vgui_tableau_sptr > *out) const |
| vgui_tableau_sptr | get_child (unsigned i) const |
| virtual bool | notify_replaced_child (vgui_tableau_sptr const &old_child, vgui_tableau_sptr const &new_child) |
| virtual void | add_popup (vgui_menu &) |
| virtual void | get_popup (vgui_popup_params const &, vgui_menu &) |
| virtual void | post_message (char const *, void const *) |
| virtual void | post_redraw () |
| virtual void | post_overlay_redraw () |
| virtual void | post_idle_request () |
| virtual bool | draw () |
| virtual bool | mouse_down (int x, int y, vgui_button, vgui_modifier) |
| virtual bool | mouse_up (int x, int y, vgui_button, vgui_modifier) |
| virtual bool | motion (int x, int y) |
| virtual bool | key_press (int x, int y, vgui_key, vgui_modifier) |
| virtual bool | help () |
| virtual bool | idle () |
| void | ref () const |
| void | unref () const |
Static Public Member Functions | |
| static vvid_file_manager * | instance () |
| returns the unique instance of vvid_file_manger. | |
| static void | get_all (vcl_vector< vgui_tableau_sptr > *out) |
| static bool | exists (vgui_tableau_sptr const &) |
Public Attributes | |
| vgui_parent_child_link | child |
Protected Member Functions | |
| void | init () |
| set up the tableaux at each grid cell. | |
| void | cached_play () |
| void | un_cached_play () |
| void | display_image () |
| Display a processed image. | |
| void | display_spatial_objects () |
| Display a set of spatial objects. | |
| void | display_topology () |
| Display topology objects. | |
| void | display_bargraph (vcl_vector< float > const &data) |
| void | set_changing_colors (int num, float *r, float *g, float *b) |
| void | save_display (int frame) |
Private Attributes | |
| bool | cache_frames_ |
| bool | play_video_ |
| bool | pause_video_ |
| bool | next_frame_ |
| bool | prev_frame_ |
| bool | save_display_ |
| bool | overlay_pane_ |
| bool | track_ |
| int | window_ |
| int | start_frame_ |
| int | end_frame_ |
| bool | color_label_ |
| float | time_interval_ |
| int | display_frame_repeat_ |
| int | display_frame_skip_ |
| int | skip_counter_ |
| unsigned | width_ |
| unsigned | height_ |
| vidl_vil1_movie_sptr | my_movie_ |
| vgui_window * | win_ |
| vcl_vector < bgui_vtol2D_tableau_sptr > | tabs_ |
| vgui_viewer2D_tableau_sptr | v2D0_ |
| vgui_viewer2D_tableau_sptr | v2D1_ |
| bgui_vtol2D_tableau_sptr | easy0_ |
| bgui_vtol2D_tableau_sptr | easy1_ |
| vgui_image_tableau_sptr | itab0_ |
| vgui_rubberband_tableau_sptr | rubber0_ |
| bgui_picker_tableau_sptr | picktab0_ |
| vgui_image_tableau_sptr | itab1_ |
| vpro_video_process_sptr | video_process_ |
| vgui_grid_tableau_sptr | grid_ |
| vvid_frame_trail | frame_trail_ |
| vcl_vector< vcl_vector < vsol_spatial_object_2d_sptr > > | cached_spat_objs_ |
| vcl_list< vil1_image > | display_output_frames_ |
| vcl_string | display_output_file_ |
| vtol_face_2d_sptr | stem_ |
| vtol_face_2d_sptr | long_tip_ |
| vtol_face_2d_sptr | short_tip_ |
| strk_art_info_model_sptr | art_model_ |
| vtol_face_2d_sptr | background_model_ |
| vgui_style_sptr | on_style_ |
| vgui_style_sptr | off_style_ |
| bgui_bargraph_clipon_tableau_sptr | bargraph_ |
Static Private Attributes | |
| static vvid_file_manager * | instance_ = 0 |
| vvid_file_manager::vvid_file_manager | ( | ) |
Definition at line 129 of file vvid_file_manager.cxx.
| vvid_file_manager::~vvid_file_manager | ( | ) |
Definition at line 155 of file vvid_file_manager.cxx.
| vvid_file_manager * vvid_file_manager::instance | ( | ) | [static] |
returns the unique instance of vvid_file_manger.
Definition at line 72 of file vvid_file_manager.cxx.
| unsigned vvid_file_manager::get_height | ( | ) | const [inline] |
| unsigned vvid_file_manager::get_width | ( | ) | const [inline] |
| void vvid_file_manager::quit | ( | ) |
| void vvid_file_manager::load_video_file | ( | ) |
load each frame of the video into a cached vector of overlays if caching is enabled.
Loads a video file, e.g. avi into the viewer.
Definition at line 316 of file vvid_file_manager.cxx.
| void vvid_file_manager::play_video | ( | ) |
| void vvid_file_manager::pause_video | ( | ) |
| void vvid_file_manager::stop_video | ( | ) |
| void vvid_file_manager::start_frame | ( | ) |
pops up a dialog to indicate what frame to start play.
Definition at line 533 of file vvid_file_manager.cxx.
| void vvid_file_manager::end_frame | ( | ) |
pops up a dialog to indicate what frame to start play.
Definition at line 541 of file vvid_file_manager.cxx.
| void vvid_file_manager::next_frame | ( | ) |
| void vvid_file_manager::prev_frame | ( | ) |
| void vvid_file_manager::set_speed | ( | ) |
| void vvid_file_manager::easy2D_tableau_demo | ( | ) |
a demo of spatial overlays on the video (scrolling points).
Definition at line 567 of file vvid_file_manager.cxx.
| void vvid_file_manager::no_op | ( | ) |
| void vvid_file_manager::difference_frames | ( | ) |
| void vvid_file_manager::compute_motion | ( | ) |
| void vvid_file_manager::compute_lucas_kanade | ( | ) |
| void vvid_file_manager::compute_harris_corners | ( | ) |
| void vvid_file_manager::compute_vd_edges | ( | ) |
| void vvid_file_manager::compute_line_fit | ( | ) |
| void vvid_file_manager::compute_grid_match | ( | ) |
| void vvid_file_manager::compute_corr_tracking | ( | ) |
| void vvid_file_manager::compute_info_tracking | ( | ) |
| void vvid_file_manager::display_poly_track | ( | ) |
| void vvid_file_manager::display_art_model_track | ( | ) |
| void vvid_file_manager::start_save_display | ( | ) |
| void vvid_file_manager::end_save_display | ( | ) |
| void vvid_file_manager::generate_basis_sequence | ( | ) |
| void vvid_file_manager::compute_fourier_transform | ( | ) |
| void vvid_file_manager::spatial_filter | ( | ) |
| void vvid_file_manager::create_box | ( | ) |
| void vvid_file_manager::create_polygon | ( | ) |
| void vvid_file_manager::create_stem | ( | ) |
| void vvid_file_manager::create_long_arm_tip | ( | ) |
Definition at line 973 of file vvid_file_manager.cxx.
| void vvid_file_manager::create_short_arm_tip | ( | ) |
Definition at line 988 of file vvid_file_manager.cxx.
| void vvid_file_manager::create_background_model | ( | ) |
| void vvid_file_manager::exercise_art_model | ( | ) |
| void vvid_file_manager::track_art_model | ( | ) |
| void vvid_file_manager::display_ihs | ( | ) |
| void vvid_file_manager::save_frame | ( | ) |
| void vvid_file_manager::save_half_res | ( | ) |
save half resolution version of the current video.
Definition at line 1158 of file vvid_file_manager.cxx.
| void vvid_file_manager::display_tracked_hist_data | ( | ) |
| void vvid_file_manager::capture_feature_data | ( | ) |
| void vvid_file_manager::capture_snippets | ( | ) |
| vgui_window* vvid_file_manager::get_window | ( | ) | [inline] |
| void vvid_file_manager::set_window | ( | vgui_window * | win | ) | [inline] |
| bool vvid_file_manager::handle | ( | const vgui_event & | e | ) | [virtual] |
tableau handle function.
Reimplemented from vgui_wrapper_tableau.
Definition at line 162 of file vvid_file_manager.cxx.
| void vvid_file_manager::init | ( | ) | [protected] |
| void vvid_file_manager::cached_play | ( | ) | [protected] |
Definition at line 380 of file vvid_file_manager.cxx.
| void vvid_file_manager::un_cached_play | ( | ) | [protected] |
Definition at line 414 of file vvid_file_manager.cxx.
| void vvid_file_manager::display_image | ( | ) | [protected] |
| void vvid_file_manager::display_spatial_objects | ( | ) | [protected] |
| void vvid_file_manager::display_topology | ( | ) | [protected] |
| void vvid_file_manager::display_bargraph | ( | vcl_vector< float > const & | data | ) | [protected] |
Definition at line 307 of file vvid_file_manager.cxx.
| void vvid_file_manager::set_changing_colors | ( | int | num, | |
| float * | r, | |||
| float * | g, | |||
| float * | b | |||
| ) | [protected] |
Definition at line 254 of file vvid_file_manager.cxx.
| void vvid_file_manager::save_display | ( | int | frame | ) | [protected] |
Definition at line 835 of file vvid_file_manager.cxx.
bool vvid_file_manager::cache_frames_ [private] |
Definition at line 212 of file vvid_file_manager.h.
bool vvid_file_manager::play_video_ [private] |
Definition at line 213 of file vvid_file_manager.h.
bool vvid_file_manager::pause_video_ [private] |
Definition at line 214 of file vvid_file_manager.h.
bool vvid_file_manager::next_frame_ [private] |
Definition at line 215 of file vvid_file_manager.h.
bool vvid_file_manager::prev_frame_ [private] |
Definition at line 216 of file vvid_file_manager.h.
bool vvid_file_manager::save_display_ [private] |
Definition at line 217 of file vvid_file_manager.h.
bool vvid_file_manager::overlay_pane_ [private] |
Definition at line 218 of file vvid_file_manager.h.
bool vvid_file_manager::track_ [private] |
Definition at line 219 of file vvid_file_manager.h.
int vvid_file_manager::window_ [private] |
Definition at line 220 of file vvid_file_manager.h.
int vvid_file_manager::start_frame_ [private] |
Definition at line 221 of file vvid_file_manager.h.
int vvid_file_manager::end_frame_ [private] |
Definition at line 222 of file vvid_file_manager.h.
bool vvid_file_manager::color_label_ [private] |
Definition at line 223 of file vvid_file_manager.h.
float vvid_file_manager::time_interval_ [private] |
Definition at line 224 of file vvid_file_manager.h.
int vvid_file_manager::display_frame_repeat_ [private] |
Definition at line 225 of file vvid_file_manager.h.
int vvid_file_manager::display_frame_skip_ [private] |
Definition at line 226 of file vvid_file_manager.h.
int vvid_file_manager::skip_counter_ [private] |
Definition at line 227 of file vvid_file_manager.h.
unsigned vvid_file_manager::width_ [private] |
Definition at line 228 of file vvid_file_manager.h.
unsigned vvid_file_manager::height_ [private] |
Definition at line 229 of file vvid_file_manager.h.
Definition at line 230 of file vvid_file_manager.h.
vgui_window* vvid_file_manager::win_ [private] |
Definition at line 231 of file vvid_file_manager.h.
vcl_vector<bgui_vtol2D_tableau_sptr> vvid_file_manager::tabs_ [private] |
Definition at line 232 of file vvid_file_manager.h.
Definition at line 233 of file vvid_file_manager.h.
Definition at line 234 of file vvid_file_manager.h.
Definition at line 235 of file vvid_file_manager.h.
Definition at line 236 of file vvid_file_manager.h.
Definition at line 237 of file vvid_file_manager.h.
Definition at line 238 of file vvid_file_manager.h.
Definition at line 239 of file vvid_file_manager.h.
Definition at line 240 of file vvid_file_manager.h.
Definition at line 241 of file vvid_file_manager.h.
Definition at line 242 of file vvid_file_manager.h.
Definition at line 243 of file vvid_file_manager.h.
vvid_file_manager * vvid_file_manager::instance_ = 0 [static, private] |
Definition at line 244 of file vvid_file_manager.h.
vcl_vector<vcl_vector<vsol_spatial_object_2d_sptr> > vvid_file_manager::cached_spat_objs_ [private] |
Definition at line 245 of file vvid_file_manager.h.
vcl_list<vil1_image> vvid_file_manager::display_output_frames_ [private] |
Definition at line 246 of file vvid_file_manager.h.
vcl_string vvid_file_manager::display_output_file_ [private] |
Definition at line 247 of file vvid_file_manager.h.
vtol_face_2d_sptr vvid_file_manager::stem_ [private] |
Definition at line 248 of file vvid_file_manager.h.
Definition at line 249 of file vvid_file_manager.h.
Definition at line 250 of file vvid_file_manager.h.
Definition at line 251 of file vvid_file_manager.h.
Definition at line 252 of file vvid_file_manager.h.
vgui_style_sptr vvid_file_manager::on_style_ [private] |
Definition at line 253 of file vvid_file_manager.h.
vgui_style_sptr vvid_file_manager::off_style_ [private] |
Definition at line 254 of file vvid_file_manager.h.
Definition at line 255 of file vvid_file_manager.h.
1.5.5