// // This file is auto-generated. Please don't modify it! // #pragma once #ifdef __cplusplus //#import "opencv.hpp" #import "opencv2/ml.hpp" #else #define CV_EXPORTS #endif #import #import "StatModel.h" @class Mat; // C++: enum KNearestTypes (cv.ml.KNearest.Types) typedef NS_ENUM(int, KNearestTypes) { BRUTE_FORCE = 1, KDTREE = 2 }; NS_ASSUME_NONNULL_BEGIN // C++: class KNearest /** * The class implements K-Nearest Neighbors model * * @see REF: ml_intro_knn * * Member of `Ml` */ CV_EXPORTS @interface KNearest : StatModel #ifdef __cplusplus @property(readonly)cv::Ptr nativePtrKNearest; #endif #ifdef __cplusplus - (instancetype)initWithNativePtr:(cv::Ptr)nativePtr; + (instancetype)fromNative:(cv::Ptr)nativePtr; #endif #pragma mark - Methods // // int cv::ml::KNearest::getDefaultK() // /** * @see `-setDefaultK:` */ - (int)getDefaultK NS_SWIFT_NAME(getDefaultK()); // // void cv::ml::KNearest::setDefaultK(int val) // /** * getDefaultK @see `-getDefaultK:` */ - (void)setDefaultK:(int)val NS_SWIFT_NAME(setDefaultK(val:)); // // bool cv::ml::KNearest::getIsClassifier() // /** * @see `-setIsClassifier:` */ - (BOOL)getIsClassifier NS_SWIFT_NAME(getIsClassifier()); // // void cv::ml::KNearest::setIsClassifier(bool val) // /** * getIsClassifier @see `-getIsClassifier:` */ - (void)setIsClassifier:(BOOL)val NS_SWIFT_NAME(setIsClassifier(val:)); // // int cv::ml::KNearest::getEmax() // /** * @see `-setEmax:` */ - (int)getEmax NS_SWIFT_NAME(getEmax()); // // void cv::ml::KNearest::setEmax(int val) // /** * getEmax @see `-getEmax:` */ - (void)setEmax:(int)val NS_SWIFT_NAME(setEmax(val:)); // // int cv::ml::KNearest::getAlgorithmType() // /** * @see `-setAlgorithmType:` */ - (int)getAlgorithmType NS_SWIFT_NAME(getAlgorithmType()); // // void cv::ml::KNearest::setAlgorithmType(int val) // /** * getAlgorithmType @see `-getAlgorithmType:` */ - (void)setAlgorithmType:(int)val NS_SWIFT_NAME(setAlgorithmType(val:)); // // float cv::ml::KNearest::findNearest(Mat samples, int k, Mat& results, Mat& neighborResponses = Mat(), Mat& dist = Mat()) // /** * Finds the neighbors and predicts responses for input vectors. * * @param samples Input samples stored by rows. It is a single-precision floating-point matrix of * ` * k` size. * @param k Number of used nearest neighbors. Should be greater than 1. * @param results Vector with results of prediction (regression or classification) for each input * sample. It is a single-precision floating-point vector with `` elements. * @param neighborResponses Optional output values for corresponding neighbors. It is a single- * precision floating-point matrix of ` * k` size. * @param dist Optional output distances from the input vectors to the corresponding neighbors. It * is a single-precision floating-point matrix of ` * k` size. * * For each input vector (a row of the matrix samples), the method finds the k nearest neighbors. * In case of regression, the predicted result is a mean value of the particular vector's neighbor * responses. In case of classification, the class is determined by voting. * * For each input vector, the neighbors are sorted by their distances to the vector. * * In case of C++ interface you can use output pointers to empty matrices and the function will * allocate memory itself. * * If only a single input vector is passed, all output matrices are optional and the predicted * value is returned by the method. * * The function is parallelized with the TBB library. */ - (float)findNearest:(Mat*)samples k:(int)k results:(Mat*)results neighborResponses:(Mat*)neighborResponses dist:(Mat*)dist NS_SWIFT_NAME(findNearest(samples:k:results:neighborResponses:dist:)); /** * Finds the neighbors and predicts responses for input vectors. * * @param samples Input samples stored by rows. It is a single-precision floating-point matrix of * ` * k` size. * @param k Number of used nearest neighbors. Should be greater than 1. * @param results Vector with results of prediction (regression or classification) for each input * sample. It is a single-precision floating-point vector with `` elements. * @param neighborResponses Optional output values for corresponding neighbors. It is a single- * precision floating-point matrix of ` * k` size. * is a single-precision floating-point matrix of ` * k` size. * * For each input vector (a row of the matrix samples), the method finds the k nearest neighbors. * In case of regression, the predicted result is a mean value of the particular vector's neighbor * responses. In case of classification, the class is determined by voting. * * For each input vector, the neighbors are sorted by their distances to the vector. * * In case of C++ interface you can use output pointers to empty matrices and the function will * allocate memory itself. * * If only a single input vector is passed, all output matrices are optional and the predicted * value is returned by the method. * * The function is parallelized with the TBB library. */ - (float)findNearest:(Mat*)samples k:(int)k results:(Mat*)results neighborResponses:(Mat*)neighborResponses NS_SWIFT_NAME(findNearest(samples:k:results:neighborResponses:)); /** * Finds the neighbors and predicts responses for input vectors. * * @param samples Input samples stored by rows. It is a single-precision floating-point matrix of * ` * k` size. * @param k Number of used nearest neighbors. Should be greater than 1. * @param results Vector with results of prediction (regression or classification) for each input * sample. It is a single-precision floating-point vector with `` elements. * precision floating-point matrix of ` * k` size. * is a single-precision floating-point matrix of ` * k` size. * * For each input vector (a row of the matrix samples), the method finds the k nearest neighbors. * In case of regression, the predicted result is a mean value of the particular vector's neighbor * responses. In case of classification, the class is determined by voting. * * For each input vector, the neighbors are sorted by their distances to the vector. * * In case of C++ interface you can use output pointers to empty matrices and the function will * allocate memory itself. * * If only a single input vector is passed, all output matrices are optional and the predicted * value is returned by the method. * * The function is parallelized with the TBB library. */ - (float)findNearest:(Mat*)samples k:(int)k results:(Mat*)results NS_SWIFT_NAME(findNearest(samples:k:results:)); // // static Ptr_KNearest cv::ml::KNearest::create() // /** * Creates the empty model * * The static method creates empty %KNearest classifier. It should be then trained using StatModel::train method. */ + (KNearest*)create NS_SWIFT_NAME(create()); // // static Ptr_KNearest cv::ml::KNearest::load(String filepath) // /** * Loads and creates a serialized knearest from a file * * Use KNearest::save to serialize and store an KNearest to disk. * Load the KNearest from this file again, by calling this function with the path to the file. * * @param filepath path to serialized KNearest */ + (KNearest*)load:(NSString*)filepath NS_SWIFT_NAME(load(filepath:)); @end NS_ASSUME_NONNULL_END