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   int video_format_;
00058   int video_mode_;
00059   int frame_rate_;
00060   //:image collection (exposure, gain and offset (brighness))
00061 
00062   bool auto_exposure_;
00063   bool auto_gain_;
00064 
00065   bool manual_shutter_control_;
00066   int shutter_;
00067   int min_shutter_;
00068   int max_shutter_;
00069 
00070   int gain_;
00071   int min_gain_;
00072   int max_gain_;
00073 
00074   int brightness_;
00075   int min_brightness_;
00076   int max_brightness_;
00077 
00078   bool auto_exposure_control_;
00079   int exposure_;
00080   int min_exposure_;
00081   int max_exposure_;
00082 
00083   int sharpness_;
00084   int min_sharpness_;
00085   int max_sharpness_;
00086 
00087   //: White balance params
00088   bool autowhitebalance_;
00089   int  whitebalanceU_;
00090   int  whitebalanceV_;
00091   bool onepushWBbalance_;
00092   int min_WB_;
00093   int max_WB_;
00094 
00095 
00096 
00097   //:capture vs acquisition (multiple frame buffering vs single frame)
00098   bool capture_;
00099   //:color image vs monochrome as a display mode (not collection)
00100   bool rgb_;
00101 };
00102 
00103 #endif // cmu_1394_camera_params_h_