00001 /************************************************************************* 00009 * 00010 * Source code for Real Time Image Library (libRTImage) 00011 * 00012 * Leeds Vision Group give permission for this code to be copied, modified 00013 * and distributed within the University of Leeds subject to the following 00014 * conditions:- 00015 * 00016 * - The code is not to be used for commercial gain. 00017 * - The code and use thereof will be attributed to the authors where 00018 * appropriate (including demonstrations which rely on it's use). 00019 * - All modified, distributions of the source files will retain this header. 00020 * 00021 ****************************************************************************/ 00022 00023 #ifndef IMAGE_SOURCE_H 00024 #define IMAGE_SOURCE_H 00025 00026 #include "Image.h" 00027 00028 class ImageSource 00038 { 00039 protected: 00040 /* Protected Data Definitions */ 00041 00042 Image::Type type; 00043 00044 public: 00045 /* Public Methods */ 00046 00048 virtual ~ImageSource() { } 00049 00056 void set_mode(Image::Type t) { type = t; } 00057 00058 /* Get source image size */ 00059 virtual void get_size(unsigned int&, unsigned int&) { } 00060 00061 /* Image extraction operators */ 00062 00064 virtual ImageSource& operator >> (ImageRGB&) = 0; 00065 00067 virtual ImageSource& operator >> (ImageGrey&) = 0; 00068 00070 virtual ImageSource& operator >> (Image&) = 0; 00071 00072 protected: 00073 /* Protected Methods */ 00074 00081 ImageSource() { } 00082 }; 00083 00084 00085 #endif // IMAGE_SOURCE_H 00086
1.2.8.1 written by Dimitri van Heesch,
© 1997-2001