LensDistortion

Description

LensDistortion structure consists of three radial distortion coefficients: k1, k2, k3 and two tangential distortion coefficients: p1, p2.

struct LensDistortion
	{
		float k1, k2, p1, p2, k3;

		LensDistortion()
			: k1(0), k2(0), p1(0), p2(0), k3(0)
		{}

		LensDistortion(float k1, float k2, float p1, float p2, float k3)
			: k1(k1), k2(k2), p1(p1), p2(p2), k3(k3)
		{}

		bool operator == (const LensDistortion& rhs) const;
		bool operator != (const LensDistortion& rhs) const;
	};

Structure fields and default values (if defined) are described below:

  • Real K1 - Radial distortion r^2 coefficient
  • Real K2 - Radial distortion r^4 coefficient
  • Real P1 - Tangential distortion coefficient
  • Real P2 - Tangential distortion coefficient
  • Real K3 - Radial distortion r^6 coefficient
  • Real K4
  • Real K5
  • Real K6
  • Real S1
  • Real S2
  • Real S3
  • Real S4
struct LensDistortion
{
	Real	K1;
	Real	K2;
	Real	P1;
	Real	P2;
	Real	K3;
	Real	K4;
	Real	K5;
	Real	K6;
	Real	S1;
	Real	S2;
	Real	S3;
	Real	S4;


	Real K1( void ) const	{ return K1;	};
	Real K2( void ) const	{ return K2;	};
	Real P1( void ) const	{ return P1;	};
	Real P2( void ) const	{ return P2;	};
	Real K3( void ) const	{ return K3;	};
	Real K4( void ) const	{ return K4;	};
	Real K5( void ) const	{ return K5;	};
	Real K6( void ) const	{ return K6;	};
	Real S1( void ) const	{ return S1;	};
	Real S2( void ) const	{ return S2;	};
	Real S3( void ) const	{ return S3;	};
	Real S4( void ) const	{ return S4;	};

	bool operator == ( const avl::LensDistortion& rhs ) const
	{
		return K1 == rhs.K1 && 
			K2 == rhs.K2 && 
			P1 == rhs.P1 && 
			P2 == rhs.P2 && 
			K3 == rhs.K3 && 
			K4 == rhs.K4 && 
			K5 == rhs.K5 && 
			K6 == rhs.K6 && 
			S1 == rhs.S1 && 
			S2 == rhs.S2 && 
			S3 == rhs.S3 && 
			S4 == rhs.S4;
	}

	bool operator != ( const avl::LensDistortion& rhs ) const
	{
		return !(operator==(rhs));
	}

};

See also

Software lens distortion correction at Wikipedia