00001
00002
00003
00004
00005
00010 #ifndef CAMERA_H
00011 #define CAMERA_H
00012
00013 #ifdef HAVE_CONFIG_H
00014 #include <config.h>
00015 #endif
00016
00017 #include <string.h>
00018 #include <sys/types.h>
00019 #include <sys/stat.h>
00020 #include <fcntl.h>
00021
00022 #include "FW/labImage.h"
00023
00024 #define DEFAULT_BLACK 0
00025 #define DEFAULT_WHITE 255
00026 #define DEFAULT_WIDTH 82
00027 #define DEFAULT_HEIGHT 62
00028 #define DEFAULT_BPP 24
00029
00030 typedef unsigned char BYTE;
00031
00032 class Camera {
00033 public:
00037 typedef struct {
00039 int width;
00041 int height;
00043 int bpp;
00044 } CamInfo;
00045
00049 virtual bool open(void) = 0;
00050
00052 virtual void close(void) = 0;
00053
00055 virtual void read(Picture *p_frame) = 0;
00056
00058 virtual bool iscolor(void) { return false; };
00059
00061 virtual void get_info(CamInfo *info) = 0;
00062
00066 virtual void setBrightness(int value) = 0;
00068 virtual void setContrast(int value) = 0;
00070 virtual void setSaturation(int value) = 0;
00075 virtual void setAutoBrightness(bool on) = 0;
00077 virtual int getBrightness(void) = 0;
00079 virtual int getContrast(void) = 0;
00081 virtual int getSaturation(void) = 0;
00083 virtual bool getAutoBrightness(void) = 0;
00084
00085 };
00086
00087 #endif