00001 // -*- c++ *-- 00002 // Copyright 2008 Isis Innovation Limited 00003 // 00004 // VideoSource.h 00005 // Declares the VideoSource class 00006 // 00007 // This is a very simple class to provide video input; this can be 00008 // replaced with whatever form of video input that is needed. It 00009 // should open the video input on construction, and provide two 00010 // function calls after construction: Size() must return the video 00011 // format as an ImageRef, and GetAndFillFrameBWandRGB should wait for 00012 // a new frame and then overwrite the passed-as-reference images with 00013 // GreyScale and Colour versions of the new frame. 00014 // 00015 #include <cvd/image.h> 00016 #include <cvd/byte.h> 00017 #include <cvd/rgb.h> 00018 00019 struct VideoSourceData; 00020 00021 class VideoSource 00022 { 00023 public: 00024 VideoSource(); 00025 void GetAndFillFrameBWandRGB(CVD::Image<CVD::byte> &imBW, CVD::Image<CVD::Rgb<CVD::byte> > &imRGB); 00026 CVD::ImageRef Size(); 00027 00028 private: 00029 void *mptr; 00030 CVD::ImageRef mirSize; 00031 };