00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __TLCAMERASVSBASE_H__
00018 #define __TLCAMERASVSBASE_H__
00019
00020
00021 #define TL_CAMERA_SVS_FILENAME "svs.ini"
00022
00023
00024 #include "tlVision.h"
00025 #include "tlCameraStereo.h"
00026 #include "tlImage.h"
00027
00028 #include <string.h>
00029 #include "svsclass.h"
00030
00031
00032
00033 extern int tlVerbose;
00034
00035
00036
00037 class tlCameraSVSBase : public tlCameraStereo
00038 {
00039 protected:
00040 svsAcquireImages *sourceObject;
00041 svsStereoImage *imageObject;
00042 svsMultiProcess *processObject;
00043 svsSP *sp;
00044
00045 bool color;
00046 bool stoc;
00047
00048 public:
00049 tlCameraSVSBase ();
00050 virtual ~tlCameraSVSBase ();
00051
00052 int setOffX (int offX);
00053 int setOffY (int offY);
00054 int setThreshold (int threshold);
00055 int setNdisp (int ndisp);
00056 int getOffX () { return imageObject->dp.offx; };
00057 int getOffY () { return imageObject->dp.offy; };
00058 int getThreshold () { return imageObject->dp.thresh; };
00059 int getNdisp () { return imageObject->dp.ndisp; };
00060 bool isColor () { return color; };
00061 bool isSTOC () { return stoc; };
00062
00063 virtual int readConfig (char *filename);
00064
00065 virtual int grab (tlImage *image) = 0;
00066 virtual int grab (tlImage *image, tlRect *rect) = 0;
00067 virtual int grabQueued (tlImage *image) = 0;
00068 virtual int grabQueued (tlImage *image, tlRect *rect) = 0;
00069
00070 virtual int grab (tlImage *image, tlImage *disparity) = 0;
00071 virtual int grab (tlImage *image, tlImage *disparity, tlRect *rect) = 0;
00072 virtual int grabQueued (tlImage *image, tlImage *disparity) = 0;
00073 virtual int grabQueued (tlImage *image, tlImage *disparity, tlRect *rect) = 0;
00074
00075 virtual int getRight (tlImage *image);
00076 virtual int getRight (tlImage *image, tlRect *rect);
00077
00078 virtual int getDisparity (tlImage *disparity);
00079 virtual int getDisparity (tlImage *disparity, tlRect *rect);
00080
00081 virtual int getDisparity (tlImage *rightImage, tlImage *leftImage, tlImage *disparity);
00082 virtual int getDisparity (tlImage *leftImage, tlImage *rightImage, tlImage *disparity, tlRect *rect);
00083
00084 virtual int toWorld (tlLocation *location);
00085 virtual int toWorld (tlLocation *location, tlLocation *dest);
00086 virtual int toImage (tlLocation *location);
00087 virtual int toImage (tlLocation *location, tlLocation *dest);
00088 };
00089
00090
00091
00092 #endif