SmallBlurryImage.h
Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Copyright 2008 Isis Innovation Limited
00003 //
00004 // SmallBlurryImage - A small and blurry representation of an image.
00005 // used by the relocaliser.
00006 
00007 #ifndef __SMALLBLURRYIMAGE_H
00008 #define __SMALLBLURRYIMAGE_H
00009 #include <cvd/image.h>
00010 #include <cvd/byte.h>
00011 #include <TooN/se2.h>
00012 #include <TooN/se3.h>
00013 #include "KeyFrame.h"
00014 #include "ATANCamera.h"
00015 
00016 class SmallBlurryImage
00017 {
00018 public:
00019   SmallBlurryImage();
00020   SmallBlurryImage(KeyFrame& kf, double dBlur = 2.5);
00021   void MakeFromKF(KeyFrame& kf, double dBlur = 2.5);
00022   void MakeJacs();
00023   double ZMSSD(SmallBlurryImage &other);
00024   std::pair<SE2<>,double> IteratePosRelToTarget(SmallBlurryImage &other, int nIterations = 10);
00025   static SE3<> SE3fromSE2(SE2<> se2, ATANCamera camera);
00026 
00027 protected:
00028   CVD::Image<CVD::byte> mimSmall;
00029   CVD::Image<float> mimTemplate;
00030   CVD::Image<Vector<2> > mimImageJacs;
00031   bool mbMadeJacs;
00032   static CVD::ImageRef mirSize;
00033 };
00034 
00035 
00036 
00037 #endif
00038 
00039 
00040 
00041 
00042 
00043 
00044 
00045 
00046 


ptam
Author(s): Stephan Weiss, Markus Achtelik, Simon Lynen
autogenerated on Tue Jan 7 2014 11:12:22