contrib/brl/vvid/cmu_1394_camera_params.h
Go to the documentation of this file.
00001 // This is brl/vvid/cmu_1394_camera_params.h
00002 #ifndef cmu_1394_camera_params_h_
00003 #define cmu_1394_camera_params_h_
00004 //--------------------------------------------------------------------------------
00005 //:
00006 // \file
00007 // \brief cmu_1394_camera_params
00008 //
00009 //  A parameter block for CMU's 1394 camera class. This block supports
00010 //  both menu operations and file-based configuration. The acquisition
00011 //  mode is constrained to match the rgb/monochrome flag.
00012 // \author
00013 //   J.L. Mundy
00014 //
00015 // \verbatim
00016 //  Modifications:
00017 //   J.L. Mundy Aug 29, 2002    Initial version.
00018 // \endverbatim
00019 //--------------------------------------------------------------------------------
00020 #include <vcl_iosfwd.h>
00021 #include <vcl_string.h>
00022 class cmu_1394_camera_params
00023 {
00024  public:
00025   cmu_1394_camera_params(int video_format=1, int video_mode=3,
00026                          int frame_rate=3,
00027                          bool auto_exposure = false, bool auto_gain= false,
00028                          bool manual_shutter_control = true,
00029                          bool auto_exposure_control = true,
00030                          int shutter = 2750,
00031                          int min_shutter = 2750, int max_shutter = 2840,
00032                          int gain = 2048,
00033                          int min_gain = 2000, int max_gain = 2048,
00034                          int brightness=96,
00035                          int min_brightness=0, int max_brightness = 255,
00036                          int sharpness=3,
00037                          int min_sharpness=0, int max_sharpness = 128,
00038                          int exposure=128,
00039                          int min_exposure=0,int max_exposure = 255,
00040                          bool capture = true, bool rgb = true,
00041                          bool autowhitebalance=true,
00042                          int whitebalanceU=127,
00043                          int whitebalanceV=127,
00044                          bool onepushWBbalance=false,
00045                          int min_WB=0,
00046                          int max_WB=255);
00047   cmu_1394_camera_params(const cmu_1394_camera_params& cp);
00048   ~cmu_1394_camera_params();
00049   void set_params(const cmu_1394_camera_params& cp);
00050   void constrain();//!< make sure the parameters are consistent
00051   vcl_string video_configuration(const int video_format, const int video_mode) const;
00052   vcl_string frame_rate(const int rate_code) const;
00053   friend
00054     vcl_ostream& operator<<(vcl_ostream& os, const cmu_1394_camera_params& cpp);
00055 
00056   // === video configuration (resolution, frame rate, color sampling) ===
00057 
00058   int video_format_;
00059   int video_mode_;
00060   int frame_rate_;
00061 
00062   // === image collection (exposure, gain and offset (brightness)) ===
00063 
00064   bool auto_exposure_;
00065   bool auto_gain_;
00066 
00067   bool manual_shutter_control_;
00068   int shutter_;
00069   int min_shutter_;
00070   int max_shutter_;
00071 
00072   int gain_;
00073   int min_gain_;
00074   int max_gain_;
00075 
00076   int brightness_;
00077   int min_brightness_;
00078   int max_brightness_;
00079 
00080   bool auto_exposure_control_;
00081   int exposure_;
00082   int min_exposure_;
00083   int max_exposure_;
00084 
00085   int sharpness_;
00086   int min_sharpness_;
00087   int max_sharpness_;
00088 
00089   // === White balance params ===
00090 
00091   bool autowhitebalance_;
00092   int  whitebalanceU_;
00093   int  whitebalanceV_;
00094   bool onepushWBbalance_;
00095   int min_WB_;
00096   int max_WB_;
00097 
00098   //:capture vs acquisition (multiple frame buffering vs single frame)
00099   bool capture_;
00100   //:color image vs monochrome as a display mode (not collection)
00101   bool rgb_;
00102 };
00103 
00104 #endif // cmu_1394_camera_params_h_