25 #ifndef INCLUDED_CameraDistortionModel_h_GUID_9A7F6C37_8AE6_40AC_DB51_C9B7B21F9871 26 #define INCLUDED_CameraDistortionModel_h_GUID_9A7F6C37_8AE6_40AC_DB51_C9B7B21F9871 41 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
43 Eigen::Vector2d
const ¢erOfProjectionPixels,
44 Eigen::Vector3d
const &k)
45 : m_fl(focalLengths), m_c(centerOfProjectionPixels), m_k(k) {}
46 Eigen::Vector2d undistortPoint(Eigen::Vector2d
const &pointd)
const {
47 Eigen::Vector2d normalizedDistorted =
48 ((pointd - m_c).array() / m_fl.array()).matrix();
49 double r2 = normalizedDistorted.squaredNorm();
50 Eigen::Vector2d normalizedUndistorted =
52 (1 + m_k[0] * r2 + m_k[1] * r2 * r2 + m_k[2] * r2 * r2 * r2);
53 Eigen::Vector2d undistorted =
54 (normalizedUndistorted.array() * m_fl.array()).matrix() + m_c;
66 #endif // INCLUDED_CameraDistortionModel_h_GUID_9A7F6C37_8AE6_40AC_DB51_C9B7B21F9871 The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
Header wrapping include of <Eigen/Core> and <Eigen/Geometry> for warning quieting.
Definition: CameraDistortionModel.h:39