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 unsafe in a general case as it leads to having non-exclusive mutable access to the internal data,
but it can be useful for some performance sensitive operations. One example of an OpenCV function that allows such in-place
modification is imgproc::threshold
. Read more