stereo_processor.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __FIREVISION_FVUTILS_STEREO_STEREO_PROCESSOR_H_
00025 #define __FIREVISION_FVUTILS_STEREO_STEREO_PROCESSOR_H_
00026
00027 #include <sys/types.h>
00028
00029 namespace firevision {
00030 #if 0
00031 }
00032 #endif
00033
00034 class ROI;
00035
00036 class StereoProcessor
00037 {
00038 public:
00039 virtual ~StereoProcessor();
00040
00041 virtual bool get_xyz(unsigned int px, unsigned int py,
00042 float *x, float *y, float *z) = 0;
00043
00044 virtual bool get_world_xyz(unsigned int px, unsigned int py,
00045 float *x, float *y, float *z) = 0;
00046
00047 virtual void preprocess_stereo() = 0;
00048 virtual void calculate_disparity(ROI *roi = 0) = 0;
00049 virtual void calculate_yuv(bool both = false) = 0;
00050
00051 virtual unsigned char * disparity_buffer() = 0;
00052 virtual size_t disparity_buffer_size() const = 0;
00053 virtual unsigned char * yuv_buffer() = 0;
00054 virtual unsigned char * auxiliary_yuv_buffer() = 0;
00055 };
00056
00057 }
00058
00059 #endif