15#include <peak_common_c/detail/peak_common_defines.h>
18#include <peak_icv_c/algorithms/calibration/peak_icv_intrinsic_parameters.h>
77 friend peak::common::detail::BackendAccessor<IntrinsicParameters>;
80 explicit operator peak_icv_intrinsic_parameters()
const;
82 peak_icv_intrinsic_parameters m_intrinsicParameters{};
85inline IntrinsicParameters::IntrinsicParameters(
const peak_icv_intrinsic_parameters& intrinsicParameters)
86 : m_intrinsicParameters{ intrinsicParameters }
89inline IntrinsicParameters::operator peak_icv_intrinsic_parameters()
const
91 return m_intrinsicParameters;
96 return { m_intrinsicParameters.image_size.width, m_intrinsicParameters.image_size.height };
101 return peak::common::PointF{ m_intrinsicParameters.principle_point.x, m_intrinsicParameters.principle_point.y };
106 std::array<double, 14> coefficients{};
107 memcpy(coefficients.data(), &m_intrinsicParameters.distortion_coefficients,
sizeof(m_intrinsicParameters.distortion_coefficients));
110 auto end = coefficients.begin() + radial.size();
111 std::copy(coefficients.begin(), end, radial.begin());
115 end += tangential.size();
116 std::copy(begin, end, tangential.begin());
121 std::copy(begin, end, prism.begin());
126 std::copy(begin, end, tilt.begin());
128 return { radial, tangential, prism, tilt };
133 return { m_intrinsicParameters.focal_length_pixel_size_ratio.x, m_intrinsicParameters.focal_length_pixel_size_ratio.y };
Represents a two-dimensional size with non-negative width and height.
Holds lens distortion coefficients.
The intrinsic parameters contain the necessary information to use the camera calibration.
peak::common::PointF GetPrinciplePoint() const
Provides the principle point.
DistortionCoefficients GetDistortionCoefficients() const
Provides the distortion coefficients.
peak::common::Size GetImageSize() const
Provides the image size.
peak::common::PointF GetFocalLengthPixelSizeRatio() const
Provides the focal length pixel size ratio.
std::array< double, 6 > RadialDistortion
Radial distortion coefficients.
std::array< double, 2 > TangentialDistortion
Tangential distortion coefficients.
std::array< double, 4 > PrismDistortion
Prism distortion coefficients.
std::array< double, 2 > TiltDistortion
Tilt distortion coefficients.