[][src]Struct cv_core::NormalizedKeyPoint

pub struct NormalizedKeyPoint(pub Point2<f64>);

A point in normalized image coordinates. This keypoint has been corrected for distortion and normalized based on the camrea intrinsic matrix. Please note that the intrinsic matrix accounts for the natural focal length and any magnification to the image. Ultimately, the key points must be represented by their position on the camera sensor and normalized to the focal length of the camera.


impl NormalizedKeyPoint[src]

pub fn with_depth(self, depth: f64) -> CameraPoint[src]

Conceptually appends a 1.0 component to the normalized keypoint to create a CameraPoint on the virtual image plane and then multiplies the point by depth. This z/depth component must be the depth of the keypoint in the direction the camera is pointing from the camera's optical center.

The depth is computed as the dot product of the unit camera norm with the vector that represents the position delta of the point from the camera.

pub fn with_distance(self, distance: f64) -> CameraPoint[src]

Projects the keypoint out to the CameraPoint that is distance away from the optical center of the camera. This distance is defined as the norm of the vector that represents the position delta of the point from the camera.

pub fn epipolar_point(self) -> CameraPoint[src]

Get the epipolar point as a CameraPoint.

The epipolar point is the point that is formed on the virtual image at a depth 1.0 in front of the camera. For that reason, this is the exact same as calling nkp.with_depth(1.0).

pub fn bearing(self) -> Vector3<f64>[src]

Returns a unit vector of the direction that the epipolar line created by this NormalizedKeyPoint projects out of the optical center of the camera. This is defined as the the normalized position delta of the epipolar point from the optical center of the camera.

pub fn bearing_unnormalized(self) -> Vector3<f64>[src]

Same as [bearing], but it is returned unnormalized.

Trait Implementations

impl AsMut<Point<f64, U2>> for NormalizedKeyPoint[src]

impl AsRef<Point<f64, U2>> for NormalizedKeyPoint[src]

impl Clone for NormalizedKeyPoint[src]

impl Copy for NormalizedKeyPoint[src]

impl Debug for NormalizedKeyPoint[src]

impl Deref for NormalizedKeyPoint[src]

type Target = Point2<f64>

The resulting type after dereferencing.

impl DerefMut for NormalizedKeyPoint[src]

impl From<CameraPoint> for NormalizedKeyPoint[src]

impl From<NormalizedKeyPoint> for Point2<f64>[src]

impl From<Point<f64, U2>> for NormalizedKeyPoint[src]

impl PartialEq<NormalizedKeyPoint> for NormalizedKeyPoint[src]

impl PartialOrd<NormalizedKeyPoint> for NormalizedKeyPoint[src]

impl StructuralPartialEq for NormalizedKeyPoint[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Scalar for T where
    T: PartialEq<T> + Copy + Any + Debug

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,