Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
SphericalDepthPanorama.hh
1 /*
2 This file is part of the BIAS library (Basic ImageAlgorithmS).
3 
4 Copyright (C) 2003-2009 (see file CONTACT for details)
5 Multimediale Systeme der Informationsverarbeitung
6 Institut fuer Informatik
7 Christian-Albrechts-Universitaet Kiel
8 
9 
10 BIAS is free software; you can redistribute it and/or modify
11 it under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
13 (at your option) any later version.
14 
15 BIAS is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU Lesser General Public License for more details.
19 
20 You should have received a copy of the GNU Lesser General Public License
21 along with BIAS; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 */
24 
25 
26 #ifndef _SPHERICALDEPTHPANORAMA_HH_
27 #define _SPHERICALDEPTHPANORAMA_HH_
28 
29 #include <Base/Common/W32Compat.hh>
30 #include <math.h>
31 #include <vector>
32 #include <Base/Image/Image.hh>
33 #include <Geometry/PMatrix.hh>
34 #include <Geometry/Projection.hh>
35 #include <Geometry/ProjectionParametersSpherical.hh>
36 #include <Utils/TriangleMesh.hh>
37 
38 namespace BIAS {
39 
40  /** \class SphericalDepthPanorama
41  * \author ischiller
42  * \brief create and represent spherical depth panorama
43  */
44  class BIASImage_EXPORT SphericalDepthPanorama {
45  public:
46  /**
47  @brief Constructor with default params
48  @param range: the range of degrees in which a panorama is to be build
49  360 = full circle
50  @param sampling: The sampling rate. 10 = 10 steps per degree
51  @author ischiller
52  @date 05/07
53  */
54  SphericalDepthPanorama(Projection *initialProjection_ = NULL);
56 
57 
58  /** Call Process to update the measurement */
59  int ProcessSphericalProjection(BIAS::Image<float> &depthMap,
60  BIAS::Projection & p,
61  BIAS::Image<unsigned char> *texture=NULL);
62 
63  int GetPanorama(BIAS::Image<float> &image,
65 
66  int GetTriangleMesh(BIAS::TriangleMesh &mesh);
67 
68  protected:
69 
71  BIAS::Image<float> panorama_,panoramaHitCount_,panoramaVarianz_;
73  unsigned int panoramaWidth_,panoramaHeight_;
76  int dOffsetX_,dOffsetY_;
78  }; //end class
79 
80 }//end namespace
81 
82 
83 #endif
BIAS::Image< unsigned char > panoramaTexture_
This class hides the underlying projection model, like projection matrix, spherical camera...
Definition: Projection.hh:70
Create and represent a 3D triangle mesh.
Definition: TriangleMesh.hh:84
create and represent spherical depth panorama