CamImage.h

Go to the documentation of this file.
00001 /*
00002 *       This file contains class that load images from specified file.
00003 *
00004 *       Author:
00005 *                       Tomas Mrkvicka
00006 *                       xmrkvi03@stud.fit.vutbr.cz
00007 *
00008 */
00009 
00010 #include "CameraAbstract/CameraAbstract.h"
00011 
00012 //deklarace funkce pro export tridy ven z DLL
00013 extern "C" __declspec(dllexport) TCameraAbstract*       CreateCamera(const char * filename);
00014 
00015 // FORWARD DECLARATIONS
00016 namespace NSCameras
00017 {
00018         class TCameraImage;
00019 };
00020 
00021 #ifndef _CAMERAS_CAMERAIMAGE_HH_
00022 #define _CAMERAS_CAMERAIMAGE_HH_
00023 
00024 namespace NSCameras
00025 {
00026 
00027 ////////////////////////////////////////////////////////////////////////////////
00028 ////////////////////////////////////////////////////////////////////////////////
00029 ////////////////////////////////////////////////////////////////////////////////
00030 // TCameraImage
00031 
00032 /** Tato trida reprezentuje kameru ziskavajici snimky ze zadaneho obrazku.
00033 *
00034 *       Trida plne respektuje pravidla bazove tridy TCameraAbstract a proto by manipulace
00035 *       s vytvorenym objektem mela probihat pouze pres bazovou tridu (rozhrani).
00036 *
00037 *       Protoze se jedna o obrazek, data jsou nactena pouze pri inicializaci a dale
00038 *       jsou pouze vracena pri zadostech o vysledek. Trida sam o sobe tedy neni vypocetne
00039 *       narocna. Vyuzit ji lze v situacich, kdy napr. potrebujeme testovat nejaky algoritmus
00040 *       pouze na zadanem obrazku a v budoucnu chceme algoritmus rozsirit na praci s videem.
00041 *
00042 *       \note Trida vyuziva pro nacitani obrazku knihovnu GDI+, takze je vyzadovana jeji pritomnost
00043 *       v systemu.
00044 */
00045 class TCameraImage : public TCameraAbstract
00046 {
00047 //PUBLIC OVERRIDEN METHODS
00048 public:
00049         virtual DWORD                           GetDataSize(void);      
00050         virtual void                            GetData(void * dest);   
00051                                                                                                                 
00052 
00053         virtual int                                     GetWidth(void);                 
00054         virtual int                                     GetHeight(void);                        
00055 
00056         virtual void                            Destroy(void);
00057 
00058 //PUBLIC STATIC METHODS
00059 public:
00060         static TCameraImage*            CreateCamera(const char * filename);
00061 
00062 //PRIVATE METHODS
00063 private:
00064         bool                                            Initialize( const char * filename );
00065 
00066                                                                 TCameraImage(void);
00067                                                                 ~TCameraImage(void);                                            
00068 
00069                                                                 TCameraImage( const TCameraImage & orig );      ///< falesny kopirovaci kontruktor
00070         void                                            operator=( const TCameraImage & orig );         ///< falesny prirazovaci operator
00071 
00072 //PRIVATE COMPONENTS
00073 private:
00074         int                                                     m_width;                ///< sirka nacteneho obrazu
00075         int                                                     m_height;               ///< vyska nacteneho obrazu
00076 
00077         unsigned char*                          m_data;                 ///< pixely obrazu      
00078 };
00079 
00080 // TCameraImage
00081 ////////////////////////////////////////////////////////////////////////////////
00082 ////////////////////////////////////////////////////////////////////////////////
00083 ////////////////////////////////////////////////////////////////////////////////
00084 
00085 }; //END of namespace NSCameras
00086 using namespace NSCameras;
00087 
00088 #endif

Generated on Sat Nov 17 16:23:33 2007 for Image Processing Pipeline - Camera Sources Implementation by  doxygen 1.4.6-NO