14 #ifndef mitkCameraIntrinsics_h 15 #define mitkCameraIntrinsics_h 19 #include <itkDataObject.h> 20 #include <itkFastMutexLock.h> 21 #include <vnl/vnl_matrix_fixed.h> 25 #include "opencv2/core.hpp" 49 itkFactorylessNewMacro(Self);
69 vnl_matrix_fixed<mitk::ScalarType, 3, 3> GetVnlCameraMatrix()
const;
75 vnl_matrix_fixed<mitk::ScalarType, 3, 4> GetVnlCameraMatrix3x4()
const;
82 void SetValid(
bool valid);
83 cv::Mat GetCameraMatrix()
const;
84 cv::Mat GetDistorsionCoeffs();
85 cv::Mat GetDistorsionCoeffs()
const;
86 void ToXML(tinyxml2::XMLElement* elem)
const override;
87 std::string ToString()
const;
88 std::string GetString();
89 double GetFocalLengthX()
const;
90 double GetFocalLengthY()
const;
91 double GetPrincipalPointX()
const;
92 double GetPrincipalPointY()
const;
96 vnl_vector_fixed<mitk::ScalarType, 2> GetFocalPointAsVnlVector()
const;
97 vnl_vector_fixed<mitk::ScalarType, 2> GetPrincipalPointAsVnlVector()
const;
102 void SetCameraMatrix(
const vnl_matrix_fixed<mitk::ScalarType, 3, 3>&
105 void SetIntrinsics(
const cv::Mat& _CameraMatrix
106 ,
const cv::Mat& _DistorsionCoeffs);
108 void SetFocalLength(
double x,
double y );
109 void SetPrincipalPoint(
double x,
double y );
110 void SetDistorsionCoeffs(
double k1,
double k2,
double p1,
double p2 );
116 void FromXML(
const tinyxml2::XMLElement* elem)
override;
117 void FromGMLCalibrationXML(
const tinyxml2::XMLElement* elem);
118 std::string ToOctaveString(
const std::string& varName=
"CameraIntrinsics");
133 itk::LightObject::Pointer InternalClone()
const override;
139 (std::ostream& os, mitk::CameraIntrinsics::Pointer p);
141 #endif // mitkCameraIntrinsics_h
class representing camera intrinsics and related functions
DataCollection - Class to facilitate loading/accessing structured data.
#define MITKCAMERACALIBRATION_EXPORT
itk::FastMutexLock::Pointer m_Mutex
#define mitkClassMacroItkParent(className, SuperClassName)
cv::Mat m_DistorsionCoeffs
int mitkCameraIntrinsicsTest(int, char *[])
interface for all classes able to write themselves to XML files