Struct opencv::optflow::SparseRLOFOpticalFlow
source · pub struct SparseRLOFOpticalFlow { /* private fields */ }
Expand description
Class used for calculation sparse optical flow and feature tracking with robust local optical flow (RLOF) algorithms.
The RLOF is a fast local optical flow approach described in Senst2012 Senst2013 Senst2014 and Senst2016 similar to the pyramidal iterative Lucas-Kanade method as proposed by Bouguet00. More details and experiments can be found in the following thesis Senst2019. The implementation is derived from optflow::calcOpticalFlowPyrLK().
For the RLOF configuration see optflow::RLOFOpticalFlowParameter for further details. Parameters have been described in Senst2012, Senst2013, Senst2014 and Senst2016.
Note: SIMD parallelization is only available when compiling with SSE4.1.
§See also
optflow::calcOpticalFlowSparseRLOF(), optflow::RLOFOpticalFlowParameter
Implementations§
source§impl SparseRLOFOpticalFlow
impl SparseRLOFOpticalFlow
sourcepub fn create(
rlof_param: Ptr<RLOFOpticalFlowParameter>,
forward_backward_threshold: f32
) -> Result<Ptr<SparseRLOFOpticalFlow>>
pub fn create( rlof_param: Ptr<RLOFOpticalFlowParameter>, forward_backward_threshold: f32 ) -> Result<Ptr<SparseRLOFOpticalFlow>>
sourcepub fn create_def() -> Result<Ptr<SparseRLOFOpticalFlow>>
pub fn create_def() -> Result<Ptr<SparseRLOFOpticalFlow>>
Creates instance of SparseRLOFOpticalFlow
§Parameters
- rlofParam: see setRLOFOpticalFlowParameter
- forwardBackwardThreshold: see setForwardBackward
§Note
This alternative version of SparseRLOFOpticalFlow::create function uses the following default values for its arguments:
- rlof_param: Ptr
() - forward_backward_threshold: 1.f
Trait Implementations§
source§impl AlgorithmTraitConst for SparseRLOFOpticalFlow
impl AlgorithmTraitConst for SparseRLOFOpticalFlow
fn as_raw_Algorithm(&self) -> *const c_void
source§fn write(&self, fs: &mut impl FileStorageTrait) -> Result<()>
fn write(&self, fs: &mut impl FileStorageTrait) -> Result<()>
source§fn write_1(&self, fs: &mut impl FileStorageTrait, name: &str) -> Result<()>
fn write_1(&self, fs: &mut impl FileStorageTrait, name: &str) -> Result<()>
source§fn write_with_name(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>
fn write_with_name(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>
source§fn write_with_name_def(&self, fs: &Ptr<FileStorage>) -> Result<()>
fn write_with_name_def(&self, fs: &Ptr<FileStorage>) -> Result<()>
§Note
source§fn empty(&self) -> Result<bool>
fn empty(&self) -> Result<bool>
source§fn save(&self, filename: &str) -> Result<()>
fn save(&self, filename: &str) -> Result<()>
source§fn get_default_name(&self) -> Result<String>
fn get_default_name(&self) -> Result<String>
source§impl Boxed for SparseRLOFOpticalFlow
impl Boxed for SparseRLOFOpticalFlow
source§unsafe fn from_raw(
ptr: <SparseRLOFOpticalFlow as OpenCVFromExtern>::ExternReceive
) -> Self
unsafe fn from_raw( ptr: <SparseRLOFOpticalFlow as OpenCVFromExtern>::ExternReceive ) -> Self
source§fn into_raw(
self
) -> <SparseRLOFOpticalFlow as OpenCVTypeExternContainer>::ExternSendMut
fn into_raw( self ) -> <SparseRLOFOpticalFlow as OpenCVTypeExternContainer>::ExternSendMut
source§fn as_raw(
&self
) -> <SparseRLOFOpticalFlow as OpenCVTypeExternContainer>::ExternSend
fn as_raw( &self ) -> <SparseRLOFOpticalFlow as OpenCVTypeExternContainer>::ExternSend
source§fn as_raw_mut(
&mut self
) -> <SparseRLOFOpticalFlow as OpenCVTypeExternContainer>::ExternSendMut
fn as_raw_mut( &mut self ) -> <SparseRLOFOpticalFlow as OpenCVTypeExternContainer>::ExternSendMut
source§impl Debug for SparseRLOFOpticalFlow
impl Debug for SparseRLOFOpticalFlow
source§impl Drop for SparseRLOFOpticalFlow
impl Drop for SparseRLOFOpticalFlow
source§impl From<SparseRLOFOpticalFlow> for Algorithm
impl From<SparseRLOFOpticalFlow> for Algorithm
source§fn from(s: SparseRLOFOpticalFlow) -> Self
fn from(s: SparseRLOFOpticalFlow) -> Self
source§impl From<SparseRLOFOpticalFlow> for SparseOpticalFlow
impl From<SparseRLOFOpticalFlow> for SparseOpticalFlow
source§fn from(s: SparseRLOFOpticalFlow) -> Self
fn from(s: SparseRLOFOpticalFlow) -> Self
source§impl SparseOpticalFlowTrait for SparseRLOFOpticalFlow
impl SparseOpticalFlowTrait for SparseRLOFOpticalFlow
fn as_raw_mut_SparseOpticalFlow(&mut self) -> *mut c_void
source§fn calc(
&mut self,
prev_img: &impl ToInputArray,
next_img: &impl ToInputArray,
prev_pts: &impl ToInputArray,
next_pts: &mut impl ToInputOutputArray,
status: &mut impl ToOutputArray,
err: &mut impl ToOutputArray
) -> Result<()>
fn calc( &mut self, prev_img: &impl ToInputArray, next_img: &impl ToInputArray, prev_pts: &impl ToInputArray, next_pts: &mut impl ToInputOutputArray, status: &mut impl ToOutputArray, err: &mut impl ToOutputArray ) -> Result<()>
source§fn calc_def(
&mut self,
prev_img: &impl ToInputArray,
next_img: &impl ToInputArray,
prev_pts: &impl ToInputArray,
next_pts: &mut impl ToInputOutputArray,
status: &mut impl ToOutputArray
) -> Result<()>
fn calc_def( &mut self, prev_img: &impl ToInputArray, next_img: &impl ToInputArray, prev_pts: &impl ToInputArray, next_pts: &mut impl ToInputOutputArray, status: &mut impl ToOutputArray ) -> Result<()>
source§impl SparseOpticalFlowTraitConst for SparseRLOFOpticalFlow
impl SparseOpticalFlowTraitConst for SparseRLOFOpticalFlow
fn as_raw_SparseOpticalFlow(&self) -> *const c_void
source§impl SparseRLOFOpticalFlowTrait for SparseRLOFOpticalFlow
impl SparseRLOFOpticalFlowTrait for SparseRLOFOpticalFlow
fn as_raw_mut_SparseRLOFOpticalFlow(&mut self) -> *mut c_void
source§fn set_rlof_optical_flow_parameter(
&mut self,
val: Ptr<RLOFOpticalFlowParameter>
) -> Result<()>
fn set_rlof_optical_flow_parameter( &mut self, val: Ptr<RLOFOpticalFlowParameter> ) -> Result<()>
source§fn set_forward_backward(&mut self, val: f32) -> Result<()>
fn set_forward_backward(&mut self, val: f32) -> Result<()>
source§impl SparseRLOFOpticalFlowTraitConst for SparseRLOFOpticalFlow
impl SparseRLOFOpticalFlowTraitConst for SparseRLOFOpticalFlow
fn as_raw_SparseRLOFOpticalFlow(&self) -> *const c_void
source§fn get_rlof_optical_flow_parameter(
&self
) -> Result<Ptr<RLOFOpticalFlowParameter>>
fn get_rlof_optical_flow_parameter( &self ) -> Result<Ptr<RLOFOpticalFlowParameter>>
source§fn get_forward_backward(&self) -> Result<f32>
fn get_forward_backward(&self) -> Result<f32>
impl Send for SparseRLOFOpticalFlow
Auto Trait Implementations§
impl Freeze for SparseRLOFOpticalFlow
impl RefUnwindSafe for SparseRLOFOpticalFlow
impl !Sync for SparseRLOFOpticalFlow
impl Unpin for SparseRLOFOpticalFlow
impl UnwindSafe for SparseRLOFOpticalFlow
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<Mat> ModifyInplace for Matwhere
Mat: Boxed,
impl<Mat> ModifyInplace for Matwhere
Mat: Boxed,
source§unsafe fn modify_inplace<Res>(
&mut self,
f: impl FnOnce(&Mat, &mut Mat) -> Res
) -> Res
unsafe fn modify_inplace<Res>( &mut self, f: impl FnOnce(&Mat, &mut Mat) -> Res ) -> Res
Mat
or another similar object. By passing
a mutable reference to the Mat
to this function your closure will get called with the read reference and a write references
to the same Mat
. This is of course unsafe as it breaks the Rust aliasing rules, but it might be useful for some performance
sensitive operations. One example of an OpenCV function that allows such in-place modification is imgproc::threshold
. Read more