All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.bytedeco.opencv.opencv_features2d.FlannBasedMatcher Maven / Gradle / Ivy

The newest version!
// Targeted by JavaCPP version 1.5.10: DO NOT EDIT THIS FILE

package org.bytedeco.opencv.opencv_features2d;

import java.nio.*;
import org.bytedeco.javacpp.*;
import org.bytedeco.javacpp.annotation.*;

import static org.bytedeco.javacpp.presets.javacpp.*;
import static org.bytedeco.openblas.global.openblas_nolapack.*;
import static org.bytedeco.openblas.global.openblas.*;
import org.bytedeco.opencv.opencv_core.*;
import static org.bytedeco.opencv.global.opencv_core.*;
import org.bytedeco.opencv.opencv_imgproc.*;
import static org.bytedeco.opencv.global.opencv_imgproc.*;
import static org.bytedeco.opencv.global.opencv_imgcodecs.*;
import org.bytedeco.opencv.opencv_videoio.*;
import static org.bytedeco.opencv.global.opencv_videoio.*;
import org.bytedeco.opencv.opencv_highgui.*;
import static org.bytedeco.opencv.global.opencv_highgui.*;
import org.bytedeco.opencv.opencv_flann.*;
import static org.bytedeco.opencv.global.opencv_flann.*;

import static org.bytedeco.opencv.global.opencv_features2d.*;


// #if defined(HAVE_OPENCV_FLANN) || defined(CV_DOXYGEN)

/** \brief Flann-based descriptor matcher.

This matcher trains cv::flann::Index on a train descriptor collection and calls its nearest search methods to find the best matches. So, this matcher may be faster when matching a large train collection than the brute force matcher. FlannBasedMatcher does not support masking permissible matches of descriptor sets because flann::Index does not support this. : */ @Namespace("cv") @NoOffset @Properties(inherit = org.bytedeco.opencv.presets.opencv_features2d.class) public class FlannBasedMatcher extends DescriptorMatcher { static { Loader.load(); } /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */ public FlannBasedMatcher(Pointer p) { super(p); } /** Native array allocator. Access with {@link Pointer#position(long)}. */ public FlannBasedMatcher(long size) { super((Pointer)null); allocateArray(size); } private native void allocateArray(long size); @Override public FlannBasedMatcher position(long position) { return (FlannBasedMatcher)super.position(position); } @Override public FlannBasedMatcher getPointer(long i) { return new FlannBasedMatcher((Pointer)this).offsetAddress(i); } /** Downcast constructor. */ public FlannBasedMatcher(Algorithm pointer) { super((Pointer)null); allocate(pointer); } @Namespace private native @Name("static_cast") void allocate(Algorithm pointer); public FlannBasedMatcher( @Ptr IndexParams indexParams/*=makePtr()*/, @Ptr SearchParams searchParams/*=makePtr()*/ ) { super((Pointer)null); allocate(indexParams, searchParams); } private native void allocate( @Ptr IndexParams indexParams/*=makePtr()*/, @Ptr SearchParams searchParams/*=makePtr()*/ ); public FlannBasedMatcher( ) { super((Pointer)null); allocate(); } private native void allocate( ); public native @Override void add( @ByVal MatVector descriptors ); public native @Override void add( @ByVal UMatVector descriptors ); public native @Override void add( @ByVal GpuMatVector descriptors ); public native @Override void clear(); // Reads matcher object from a file node public native @Override void read( @Const @ByRef FileNode arg0 ); // Writes matcher object to a file storage public native @Override void write( @ByRef FileStorage arg0 ); public native @Override void train(); public native @Cast("bool") @Override boolean isMaskSupported(); public static native @Ptr FlannBasedMatcher create(); /* nothing by default */ public native @Ptr @Override DescriptorMatcher clone( @Cast("bool") boolean emptyTrainData/*=false*/ ); public native @Ptr DescriptorMatcher clone( ); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy