[−][src]Struct cv_core::UnscaledRelativeCameraPose
This stores a RelativeCameraPose
that has not had its translation scaled.
The translation for an unscaled relative camera pose should allow the triangulation of correspondences to lie in front of both cameras. Aside from that case, the relative pose contained inside should only be used to initialize a reconstruction with unknown scale.
Methods from Deref<Target = RelativeCameraPose>
pub fn transform(&self, CameraPoint: CameraPoint) -> CameraPoint
[src]
The relative pose transforms the point in camera space from camera A
to camera B
.
pub fn essential_matrix(&self) -> EssentialMatrix
[src]
Generates an essential matrix corresponding to this relative camera pose.
If a point a
is transformed using RelativeCameraPose::transform
into
a point b
, then the essential matrix returned by this method will
give a residual of approximately 0.0
when you call
essential.residual(&KeyPointsMatch(a.into(), b.into()))
.
See the documentation of EssentialMatrix
for more information.
let pose = RelativeCameraPose(IsometryMatrix3::from_parts( Vector3::new(0.3, 0.4, 0.5).into(), Rotation3::from_euler_angles(0.2, 0.3, 0.4), )); let a = CameraPoint(Point3::new(0.5, 0.5, 3.0)); let b = pose.transform(a); assert!(pose.essential_matrix().residual(&KeyPointsMatch(a.into(), b.into())) < 1e-6);
Trait Implementations
impl AsMut<RelativeCameraPose> for UnscaledRelativeCameraPose
[src]
fn as_mut(&mut self) -> &mut RelativeCameraPose
[src]
impl AsRef<RelativeCameraPose> for UnscaledRelativeCameraPose
[src]
fn as_ref(&self) -> &RelativeCameraPose
[src]
impl Clone for UnscaledRelativeCameraPose
[src]
fn clone(&self) -> UnscaledRelativeCameraPose
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for UnscaledRelativeCameraPose
[src]
impl Debug for UnscaledRelativeCameraPose
[src]
impl Deref for UnscaledRelativeCameraPose
[src]
type Target = RelativeCameraPose
The resulting type after dereferencing.
fn deref(&self) -> &Self::Target
[src]
impl DerefMut for UnscaledRelativeCameraPose
[src]
impl From<RelativeCameraPose> for UnscaledRelativeCameraPose
[src]
fn from(original: RelativeCameraPose) -> UnscaledRelativeCameraPose
[src]
impl From<UnscaledRelativeCameraPose> for RelativeCameraPose
[src]
fn from(original: UnscaledRelativeCameraPose) -> RelativeCameraPose
[src]
impl PartialEq<UnscaledRelativeCameraPose> for UnscaledRelativeCameraPose
[src]
fn eq(&self, other: &UnscaledRelativeCameraPose) -> bool
[src]
fn ne(&self, other: &UnscaledRelativeCameraPose) -> bool
[src]
impl StructuralPartialEq for UnscaledRelativeCameraPose
[src]
Auto Trait Implementations
impl Send for UnscaledRelativeCameraPose
impl Sync for UnscaledRelativeCameraPose
impl Unpin for UnscaledRelativeCameraPose
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
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,
[src]
T: PartialEq<T> + Copy + Any + Debug,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn is_in_subset(&self) -> bool
unsafe fn to_subset_unchecked(&self) -> SS
fn from_subset(element: &SS) -> SP
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,