OpenCV Distortion Model¶
-
struct OpenCVCoefficients : public huira::DistortionCoefficients¶
Coefficients for OpenCV lens distortion model.
Holds the radial, tangential, and thin prism distortion coefficients for the OpenCV model.
-
template<IsSpectral TSpectral>
class OpenCVDistortion : public huira::Distortion<TSpectral>¶ OpenCV lens distortion model.
Implements the OpenCV distortion model with rational radial, tangential, and thin prism coefficients.
- Template Parameters:
TSpectral – The spectral representation type.
Public Functions
-
OpenCVDistortion() = default¶
-
explicit OpenCVDistortion(OpenCVCoefficients coefficients)¶
Constructs an OpenCVDistortion with the given coefficients.
- Parameters:
coefficients – The OpenCV distortion coefficients (radial, tangential, thin prism).
-
virtual Pixel distort(Pixel homogeneous_coords) const override¶
Applies OpenCV distortion to the given pixel coordinates.
Computes the distorted coordinates by adding the OpenCV distortion delta.
- Parameters:
homogeneous_coords – The input pixel coordinates (homogeneous).
- Returns:
The distorted pixel coordinates.
-
virtual Pixel undistort(Pixel homogeneous_coords) const override¶
Removes OpenCV distortion from the given pixel coordinates.
Iteratively computes the undistorted coordinates using the OpenCV model.
- Parameters:
homogeneous_coords – The distorted pixel coordinates (homogeneous).
- Returns:
The undistorted pixel coordinates.
-
inline virtual std::string get_type_name() const override¶
-
inline virtual DistortionCoefficients *get_coefficients() override¶
-
inline virtual const DistortionCoefficients *get_coefficients() const override¶
-
inline void set_max_iterations(std::size_t max_iters)¶
-
inline std::size_t get_max_iterations() const¶
-
inline void set_tolerance(float tol)¶
-
inline float get_tolerance() const¶