[−][src]Struct opencv::xfeatures2d::LATCH
latch Class for computing the LATCH descriptor. If you find this code useful, please add a reference to the following paper in your work: Gil Levi and Tal Hassner, "LATCH: Learned Arrangements of Three Patch Codes", arXiv preprint arXiv:1501.03719, 15 Jan. 2015
LATCH is a binary descriptor based on learned comparisons of triplets of image patches.
- bytes is the size of the descriptor - can be 64, 32, 16, 8, 4, 2 or 1
- rotationInvariance - whether or not the descriptor should compansate for orientation changes.
- half_ssd_size - the size of half of the mini-patches size. For example, if we would like to compare triplets of patches of size 7x7x then the half_ssd_size should be (7-1)/2 = 3.
- sigma - sigma value for GaussianBlur smoothing of the source image. Source image will be used without smoothing in case sigma value is 0.
Note: the descriptor can be coupled with any keypoint extractor. The only demand is that if you use set rotationInvariance = True then you will have to use an extractor which estimates the patch orientation (in degrees). Examples for such extractors are ORB and SIFT.
Note: a complete example can be found under /samples/cpp/tutorial_code/xfeatures2D/latch_match.cpp
Implementations
impl LATCH
[src]
pub fn as_raw_LATCH(&self) -> *const c_void
[src]
pub fn as_raw_mut_LATCH(&mut self) -> *mut c_void
[src]
impl LATCH
[src]
pub fn create(
bytes: i32,
rotation_invariance: bool,
half_ssd_size: i32,
sigma: f64
) -> Result<Ptr<LATCH>>
[src]
bytes: i32,
rotation_invariance: bool,
half_ssd_size: i32,
sigma: f64
) -> Result<Ptr<LATCH>>
C++ default parameters
- bytes: 32
- rotation_invariance: true
- half_ssd_size: 3
- sigma: 2.0
Trait Implementations
impl AlgorithmTrait for LATCH
[src]
fn as_raw_Algorithm(&self) -> *const c_void
[src]
fn as_raw_mut_Algorithm(&mut self) -> *mut c_void
[src]
fn clear(&mut self) -> Result<()>
[src]
fn write(&self, fs: &mut FileStorage) -> Result<()>
[src]
fn write_with_name(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>
[src]
fn read(&mut self, fn_: &FileNode) -> Result<()>
[src]
fn empty(&self) -> Result<bool>
[src]
fn save(&self, filename: &str) -> Result<()>
[src]
fn get_default_name(&self) -> Result<String>
[src]
impl Boxed for LATCH
[src]
unsafe fn from_raw(ptr: *mut c_void) -> Self
[src]
fn into_raw(self) -> *mut c_void
[src]
fn as_raw(&self) -> *const c_void
[src]
fn as_raw_mut(&mut self) -> *mut c_void
[src]
impl Drop for LATCH
[src]
impl Feature2DTrait for LATCH
[src]
fn as_raw_Feature2D(&self) -> *const c_void
[src]
fn as_raw_mut_Feature2D(&mut self) -> *mut c_void
[src]
fn detect(
&mut self,
image: &dyn ToInputArray,
keypoints: &mut Vector<KeyPoint>,
mask: &dyn ToInputArray
) -> Result<()>
[src]
&mut self,
image: &dyn ToInputArray,
keypoints: &mut Vector<KeyPoint>,
mask: &dyn ToInputArray
) -> Result<()>
fn detect_multiple(
&mut self,
images: &dyn ToInputArray,
keypoints: &mut Vector<Vector<KeyPoint>>,
masks: &dyn ToInputArray
) -> Result<()>
[src]
&mut self,
images: &dyn ToInputArray,
keypoints: &mut Vector<Vector<KeyPoint>>,
masks: &dyn ToInputArray
) -> Result<()>
fn compute(
&mut self,
image: &dyn ToInputArray,
keypoints: &mut Vector<KeyPoint>,
descriptors: &mut dyn ToOutputArray
) -> Result<()>
[src]
&mut self,
image: &dyn ToInputArray,
keypoints: &mut Vector<KeyPoint>,
descriptors: &mut dyn ToOutputArray
) -> Result<()>
fn compute_multiple(
&mut self,
images: &dyn ToInputArray,
keypoints: &mut Vector<Vector<KeyPoint>>,
descriptors: &mut dyn ToOutputArray
) -> Result<()>
[src]
&mut self,
images: &dyn ToInputArray,
keypoints: &mut Vector<Vector<KeyPoint>>,
descriptors: &mut dyn ToOutputArray
) -> Result<()>
fn detect_and_compute(
&mut self,
image: &dyn ToInputArray,
mask: &dyn ToInputArray,
keypoints: &mut Vector<KeyPoint>,
descriptors: &mut dyn ToOutputArray,
use_provided_keypoints: bool
) -> Result<()>
[src]
&mut self,
image: &dyn ToInputArray,
mask: &dyn ToInputArray,
keypoints: &mut Vector<KeyPoint>,
descriptors: &mut dyn ToOutputArray,
use_provided_keypoints: bool
) -> Result<()>
fn descriptor_size(&self) -> Result<i32>
[src]
fn descriptor_type(&self) -> Result<i32>
[src]
fn default_norm(&self) -> Result<i32>
[src]
fn write(&self, file_name: &str) -> Result<()>
[src]
fn read(&mut self, file_name: &str) -> Result<()>
[src]
fn write_1(&self, unnamed: &mut FileStorage) -> Result<()>
[src]
fn read_1(&mut self, unnamed: &FileNode) -> Result<()>
[src]
fn empty(&self) -> Result<bool>
[src]
fn get_default_name(&self) -> Result<String>
[src]
fn write_2(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>
[src]
impl LATCHTrait for LATCH
[src]
fn as_raw_LATCH(&self) -> *const c_void
[src]
fn as_raw_mut_LATCH(&mut self) -> *mut c_void
[src]
impl Send for LATCH
[src]
Auto Trait Implementations
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,
pub 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, 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.
pub 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>,