00001
00002
00003 #include "opencv/cxcore.h"
00004
00005 #include "camera/cameraPinhole.hpp"
00006
00007 #include "geom/3dOccupancyGrid.hpp"
00008
00009 namespace jafar {
00010 namespace stereo {
00014 class StereoOGSensorModel : public jafar::geom::OGSensorModel {
00015
00016 public:
00017
00018 StereoOGSensorModel(jafar::camera::StereoBench const& stereoBench, double dispStdDev);
00019 ~StereoOGSensorModel();
00020
00021 void setDisparity(std::string fileName);
00022
00023 void setupUpdate(jafar::geom::DenseOG const& og);
00024
00025 protected:
00026
00027 jafar::geom::Box<double> visibilityBoxInSensorFrame() const;
00028 double inverseObservationInSensorFrame(jafar::geom::VoxelCoord const& voxel) const;
00029
00030 private:
00031
00032 camera::StereoBench m_stereoBench;
00033 double m_dispStdDev;
00034 double m_lOccupied;
00035 double m_lFree;
00036
00037 IplImage* m_disparity;
00038
00039 double m_sizeVoxel_2;
00040 jblas::vec3 m_deltaVoxel;
00041
00042 };
00043 }
00044 }