warpers.hpp
Go to the documentation of this file.
1 /*M///////////////////////////////////////////////////////////////////////////////////////
2 //
3 // IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4 //
5 // By downloading, copying, installing or using the software you agree to this license.
6 // If you do not agree to this license, do not download, install,
7 // copy or use the software.
8 //
9 //
10 // License Agreement
11 // For Open Source Computer Vision Library
12 //
13 // Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14 // Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15 // Third party copyrights are property of their respective owners.
16 //
17 // Redistribution and use in source and binary forms, with or without modification,
18 // are permitted provided that the following conditions are met:
19 //
20 // * Redistribution's of source code must retain the above copyright notice,
21 // this list of conditions and the following disclaimer.
22 //
23 // * Redistribution's in binary form must reproduce the above copyright notice,
24 // this list of conditions and the following disclaimer in the documentation
25 // and/or other materials provided with the distribution.
26 //
27 // * The name of the copyright holders may not be used to endorse or promote products
28 // derived from this software without specific prior written permission.
29 //
30 // This software is provided by the copyright holders and contributors "as is" and
31 // any express or implied warranties, including, but not limited to, the implied
32 // warranties of merchantability and fitness for a particular purpose are disclaimed.
33 // In no event shall the Intel Corporation or contributors be liable for any direct,
34 // indirect, incidental, special, exemplary, or consequential damages
35 // (including, but not limited to, procurement of substitute goods or services;
36 // loss of use, data, or profits; or business interruption) however caused
37 // and on any theory of liability, whether in contract, strict liability,
38 // or tort (including negligence or otherwise) arising in any way out of
39 // the use of this software, even if advised of the possibility of such damage.
40 //
41 //M*/
42 
43 #ifndef __OPENCV_STITCHING_WARPER_CREATORS_HPP__
44 #define __OPENCV_STITCHING_WARPER_CREATORS_HPP__
45 
47 
48 namespace cv {
49 
51 {
52 public:
53  virtual ~WarperCreator() {}
54  virtual Ptr<detail::RotationWarper> create(float scale) const = 0;
55 };
56 
57 
58 class PlaneWarper : public WarperCreator
59 {
60 public:
61  Ptr<detail::RotationWarper> create(float scale) const { return new detail::PlaneWarper(scale); }
62 };
63 
64 
66 {
67 public:
69 };
70 
71 
73 {
74 public:
76 };
77 
79 {
80 public:
81  Ptr<detail::RotationWarper> create(float scale) const { return new detail::FisheyeWarper(scale); }
82 };
83 
85 {
86 public:
88 };
89 
91 {
92  float a, b;
93 public:
94  CompressedRectilinearWarper(float A = 1, float B = 1)
95  {
96  a = A; b = B;
97  }
99 };
100 
102 {
103  float a, b;
104 public:
105  CompressedRectilinearPortraitWarper(float A = 1, float B = 1)
106  {
107  a = A; b = B;
108  }
110 };
111 
113 {
114  float a, b;
115 public:
116  PaniniWarper(float A = 1, float B = 1)
117  {
118  a = A; b = B;
119  }
120  Ptr<detail::RotationWarper> create(float scale) const { return new detail::PaniniWarper(scale, a, b); }
121 };
122 
124 {
125  float a, b;
126 public:
127  PaniniPortraitWarper(float A = 1, float B = 1)
128  {
129  a = A; b = B;
130  }
132 };
133 
135 {
136 public:
138 };
139 
141 {
142 public:
144 };
145 
146 
147 
149 {
150 public:
152 };
153 
154 
156 {
157 public:
159 };
160 
161 
163 {
164 public:
166 };
167 
168 } // namespace cv
169 
170 #endif // __OPENCV_STITCHING_WARPER_CREATORS_HPP__
Definition: warpers.hpp:101
Ptr< detail::RotationWarper > create(float scale) const
Definition: warpers.hpp:87
Definition: warpers.hpp:290
Definition: warpers.hpp:65
CompressedRectilinearPortraitWarper(float A=1, float B=1)
Definition: warpers.hpp:105
Definition: warpers.hpp:134
Ptr< detail::RotationWarper > create(float scale) const
Definition: warpers.hpp:68
Definition: warpers.hpp:78
Definition: warpers.hpp:211
virtual Ptr< detail::RotationWarper > create(float scale) const =0
Definition: warpers.hpp:50
Definition: warpers.hpp:129
Definition: warpers.hpp:385
CompressedRectilinearWarper(float A=1, float B=1)
Definition: warpers.hpp:94
Definition: warpers.hpp:155
Definition: warpers.hpp:140
Ptr< detail::RotationWarper > create(float scale) const
Definition: warpers.hpp:81
Ptr< detail::RotationWarper > create(float scale) const
Definition: warpers.hpp:131
Ptr< detail::RotationWarper > create(float scale) const
Definition: warpers.hpp:120
Ptr< detail::RotationWarper > create(float scale) const
Definition: warpers.hpp:137
Ptr< detail::RotationWarper > create(float scale) const
Definition: warpers.hpp:143
Definition: warpers.hpp:177
Definition: warpers.hpp:84
Definition: warpers.hpp:227
Ptr< detail::RotationWarper > create(float scale) const
Definition: warpers.hpp:165
Definition: warpers.hpp:123
Ptr< detail::RotationWarper > create(float scale) const
Definition: warpers.hpp:98
Definition: warpers.hpp:310
Ptr< detail::RotationWarper > create(float scale) const
Definition: warpers.hpp:61
GLboolean GLboolean GLboolean b
Definition: legacy.hpp:633
Definition: warpers.hpp:112
Definition: warpers.hpp:90
Definition: warpers.hpp:58
Definition: warpers.hpp:331
Definition: warpers.hpp:417
Definition: warpers.hpp:197
GLboolean GLboolean GLboolean GLboolean a
Definition: legacy.hpp:633
virtual ~WarperCreator()
Definition: warpers.hpp:53
Definition: warpers.hpp:162
Ptr< detail::RotationWarper > create(float scale) const
Definition: warpers.hpp:75
PaniniWarper(float A=1, float B=1)
Definition: warpers.hpp:116
Ptr< detail::RotationWarper > create(float scale) const
Definition: warpers.hpp:109
Ptr< detail::RotationWarper > create(float scale) const
Definition: warpers.hpp:151
Smart pointer to dynamically allocated objects.
Definition: core.hpp:1268
Definition: warpers.hpp:159
Definition: warpers.hpp:324
const CvMat * B
Definition: calib3d.hpp:161
PaniniPortraitWarper(float A=1, float B=1)
Definition: warpers.hpp:127
GLenum GLenum GLenum GLenum GLenum scale
Definition: warpers.hpp:148
Definition: warpers.hpp:72
Definition: warpers.hpp:269
Ptr< detail::RotationWarper > create(float scale) const
Definition: warpers.hpp:158