FlowEngine 7.517
Photogrammetry Software Development Kit
Loading...
Searching...
No Matches
CameraCalibrationInterface.h
Go to the documentation of this file.
1/*
2 *
3 * C@@o ____ _____ __ _
4 * oC8@@@@@@@o |___ \| __ \ / _| |
5 * o@@@@@@@@@@@@O __) | | | | |_| | _____ __
6 * O@O 8@@@@@@@@@O |__ <| | | | _| |/ _ \ \ /\ / /
7 * o@@@@@@@O OOOOOCo ___) | |__| | | | | (_) \ V V /
8 * C@@@@@@@@@@@@Oo |____/|_____/|_| |_|\___/ \_/\_/
9 * o8@@@@@@@@@@@@@@@@8OOCCCC
10 * oO@@@@@@@@@@@@@@@@@@@o 3Dflow s.r.l. - www.3dflow.net
11 * oO8@@@@@@@@@@@@o Copyright 2022
12 * oO88@@@@@@@@8OCo All Rights Reserved
13 * O@@@@@@@@@@@@@@@@@@@@@@@@@8OCCoooooooCCo
14 * @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O
15 * @@@Oo oO8@@@@@@@@@@@@@@@@8
16 *
17 */
18
19#ifndef FLOWENGINECAMERACALIBRATIONINTERFACE_H
20#define FLOWENGINECAMERACALIBRATIONINTERFACE_H
21
22#pragma once
23
24#include "CommonDef.h"
25
26namespace FlowEngine
27{
30 {
31 public:
32
34 enum class AdjustmentType : std::size_t
35 {
37 None = 0,
38
41
45
50
54
59
64
68
73
79 };
80
81 public:
82
84 FLE_DLL virtual ~CameraCalibrationInterface() = default;
85
86 public:
87
98 FLE_DLL virtual Result getRadialDistortion( Buffer< double > outRadialDistortion ) const = 0;
99
107 FLE_DLL virtual Result getFocalLength( double &outFx, double &outFy ) const = 0;
108
117 FLE_DLL virtual Result getPrincipalPoint( double &outPx, double &outPy ) const = 0;
118
125 FLE_DLL virtual Result getSkew( double &outSkew ) const = 0;
126
129 FLE_DLL virtual void getAdjustmentType( AdjustmentType &outAdj ) const = 0;
130
131 public:
132
137 FLE_DLL virtual Result setRadialDistortion( ConstBuffer< double > radialDistortion ) = 0;
138
142 FLE_DLL virtual void setFocalLength( double inFx, double inFy ) = 0;
143
147 FLE_DLL virtual void setPrincipalPoint( double inPx, double inPy ) = 0;
148
151 FLE_DLL virtual void setSkew( double inSkew ) = 0;
152
155 FLE_DLL virtual void setAdjustmentType( const AdjustmentType &inAdj ) = 0;
156
157 public:
158
161 FLE_DLL virtual void setAdjustFocalLength( bool inAdj ) = 0;
162
165 FLE_DLL virtual void setAdjustPrincipalPoint( bool inAdj ) = 0;
166
169 FLE_DLL virtual void setAdjustRadialDistortion( bool inAdj ) = 0;
170
173 FLE_DLL virtual void setAdjustTangentialDistortion( bool inAdj ) = 0;
174
178 FLE_DLL virtual void setUsePrecalibrationStep( bool inPC ) = 0;
179
182 FLE_DLL virtual void setAutocalibrated( bool inAC ) = 0;
183
186 FLE_DLL virtual bool getAdjustFocalLength() const = 0;
187
190 FLE_DLL virtual bool getAdjustPrincipalPoint() const = 0;
191
194 FLE_DLL virtual bool getAdjustRadialDistortion() const = 0;
195
198 FLE_DLL virtual bool getAdjustTangentialDistortion() const = 0;
199
202 FLE_DLL virtual bool getUsePrecalibrationStep() const = 0;
203
206 FLE_DLL virtual bool getAutocalibrated() const = 0;
207
208 public:
209
217 FLE_DLL virtual Result undistortImage( Image &inOutImage ) const = 0;
218
219 public:
220
230 FLE_DLL virtual Result saveToXML( ConstStringBuffer filePath ) const = 0;
231
244 FLE_DLL virtual Result loadFromXML( ConstStringBuffer filePath ) = 0;
245
246 public:
247
249 FLE_DLL virtual Size getModelNameLength() const = 0;
250
257 FLE_DLL virtual Result getModelName( StringBuffer outName ) const = 0;
258
264 FLE_DLL virtual Result setModelName( ConstStringBuffer name ) = 0;
265
267 FLE_DLL virtual Size getMakeNameLength() const = 0;
268
275 FLE_DLL virtual Result getMakeName( StringBuffer outName ) const = 0;
276
282 FLE_DLL virtual Result setMakeName( ConstStringBuffer name ) = 0;
283
285 FLE_DLL virtual Size getLensNameLength() const = 0;
286
293 FLE_DLL virtual Result getLensName( StringBuffer outName ) const = 0;
294
300 FLE_DLL virtual Result setLensName( ConstStringBuffer name ) = 0;
301 };
302
306
310}
311
312#endif
#define FLOWENGINE_FACTORY
Definition: CommonDef.h:32
Stores a camera calibration.
Definition: CameraCalibrationInterface.h:30
virtual FLE_DLL void setAutocalibrated(bool inAC)=0
virtual FLE_DLL void setAdjustFocalLength(bool inAdj)=0
virtual FLE_DLL Result setModelName(ConstStringBuffer name)=0
virtual FLE_DLL void setAdjustRadialDistortion(bool inAdj)=0
virtual FLE_DLL void setFocalLength(double inFx, double inFy)=0
virtual FLE_DLL Result getRadialDistortion(Buffer< double > outRadialDistortion) const =0
virtual FLE_DLL Result setLensName(ConstStringBuffer name)=0
virtual FLE_DLL void setAdjustmentType(const AdjustmentType &inAdj)=0
virtual FLE_DLL Size getModelNameLength() const =0
virtual FLE_DLL void setAdjustTangentialDistortion(bool inAdj)=0
virtual FLE_DLL Result setMakeName(ConstStringBuffer name)=0
AdjustmentType
Calibration Adjustment type used in the Structure from Motion procedure.
Definition: CameraCalibrationInterface.h:35
@ None
All the parameters are kept fixed during the SfM procedures.
@ AdjustInternals
Adjust internal parameters during the SfM procedures (fx, fy, px, py)
virtual FLE_DLL Result getMakeName(StringBuffer outName) const =0
virtual FLE_DLL bool getAdjustTangentialDistortion() const =0
virtual FLE_DLL Result getFocalLength(double &outFx, double &outFy) const =0
virtual FLE_DLL Result getLensName(StringBuffer outName) const =0
virtual FLE_DLL Size getLensNameLength() const =0
virtual FLE_DLL void setPrincipalPoint(double inPx, double inPy)=0
virtual FLE_DLL bool getAdjustPrincipalPoint() const =0
virtual FLE_DLL bool getAdjustRadialDistortion() const =0
virtual FLE_DLL bool getAutocalibrated() const =0
virtual FLE_DLL bool getUsePrecalibrationStep() const =0
virtual FLE_DLL Result getPrincipalPoint(double &outPx, double &outPy) const =0
virtual FLE_DLL bool getAdjustFocalLength() const =0
virtual FLE_DLL ~CameraCalibrationInterface()=default
Default virtual destructor.
virtual FLE_DLL void setAdjustPrincipalPoint(bool inAdj)=0
virtual FLE_DLL Result saveToXML(ConstStringBuffer filePath) const =0
virtual FLE_DLL Result loadFromXML(ConstStringBuffer filePath)=0
virtual FLE_DLL void setSkew(double inSkew)=0
virtual FLE_DLL Result getSkew(double &outSkew) const =0
virtual FLE_DLL Result setRadialDistortion(ConstBuffer< double > radialDistortion)=0
virtual FLE_DLL Result undistortImage(Image &inOutImage) const =0
virtual FLE_DLL Size getMakeNameLength() const =0
virtual FLE_DLL Result getModelName(StringBuffer outName) const =0
virtual FLE_DLL void getAdjustmentType(AdjustmentType &outAdj) const =0
virtual FLE_DLL void setUsePrecalibrationStep(bool inPC)=0
Definition: BoundingBoxInterface.cpp:26
CameraCalibrationInterface * CreateCameraCalibration()
Definition: CameraCalibrationInterface.cpp:27
void DestroyCameraCalibration(CameraCalibrationInterface *cameraCalibration)
Definition: CameraCalibrationInterface.cpp:32
std::size_t Size
Size type.
Definition: CommonDef.h:103
Result
Enumerates possible results generated by FlowEngine.
Definition: CommonDef.h:45
Specialization for a Buffer of characters.
Definition: CommonDef.h:255
Holds a (mutable) non_owning pointer and a size Used to marshal memory buffers as arguments in a safe...
Definition: CommonDef.h:118
Specialization for a const buffer characters.
Definition: CommonDef.h:296
Holds a (non mutable) non_owning pointer and a count Used to marshal memory buffers as arguments in a...
Definition: CommonDef.h:191
a Quaternion Holds information about a raw image Data is not owned
Definition: CommonDef.h:479