00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef RL_SEQUENCEREADER_H
00018 #define RL_SEQUENCEREADER_H
00019
00020 #include <stdio.h>
00021 #include <cv.h>
00022 #include "RL_SequenceFileHeader.hpp"
00023 #include "RL_GPSData.hpp"
00024 #include "RL_CANData.hpp"
00025
00026 using namespace std;
00027
00029 class RL_SequenceReader {
00030 public:
00031
00032 RL_SequenceReader();
00033 RL_SequenceReader(char* filename);
00034
00035
00036 virtual ~RL_SequenceReader();
00037
00038
00039 bool SetFile(char* filename);
00040
00041
00042
00043 bool ReadFrame();
00044
00045 IplImage* GrabFrame(int i);
00046 unsigned int GrabSerials(int i);
00047 unsigned int GetNumberOfFrames();
00048
00049 int GetFrameWidth();
00050 int GetFrameHeight();
00051 int GetNumberOfChannels();
00052
00053 void GetCANStruct(CANStruct* canInfo, int index);
00054 RL_GPSData* GetGPSData();
00055
00056 protected:
00057
00058 private:
00059 FILE* pFile;
00060 unsigned int dataSize;
00061 unsigned int canbusSize;
00062 unsigned int gpsDataSize;
00063 unsigned int numberOfCam;
00065 RL_SequenceFileHeader fileHeader;
00066 RL_GPSData* gpsData;
00067 RL_CANData* canData;
00069 IplImage** frameImage;
00071 int* lastCycle;
00072 int* lastCount;
00073 unsigned int* serials;
00075
00076
00077 bool OpenFile(char* filename);
00078
00079
00080 bool CloseFile();
00081 };
00082
00083 #endif