//
// This file is auto-generated. Please don't modify it!
//

#undef LOG_TAG

#include "opencv2/opencv_modules.hpp"
#ifdef HAVE_OPENCV_SALIENCY

#include <string>

#include "opencv2/saliency.hpp"

#include "/build/opencv/src/opencv/../opencv_contrib/modules/saliency/include/opencv2/saliency/saliencyBaseClasses.hpp"
#include "/build/opencv/src/opencv/../opencv_contrib/modules/saliency/include/opencv2/saliency/saliencySpecializedClasses.hpp"

#define LOG_TAG "org.opencv.saliency"
#include "common.h"

using namespace cv;

/// throw java exception
#undef throwJavaException
#define throwJavaException throwJavaException_saliency
static void throwJavaException(JNIEnv *env, const std::exception *e, const char *method) {
  std::string what = "unknown exception";
  jclass je = 0;

  if(e) {
    std::string exception_type = "std::exception";

    if(dynamic_cast<const cv::Exception*>(e)) {
      exception_type = "cv::Exception";
      je = env->FindClass("org/opencv/core/CvException");
    }

    what = exception_type + ": " + e->what();
  }

  if(!je) je = env->FindClass("java/lang/Exception");
  env->ThrowNew(je, what.c_str());

  LOGE("%s caught %s", method, what.c_str());
  (void)method;        // avoid "unused" warning
}

extern "C" {


//
//  native support for java finalize() or cleaner
//  static void Ptr<cv::saliency::MotionSaliency>::delete( __int64 self )
//
JNIEXPORT void JNICALL Java_org_opencv_saliency_MotionSaliency_delete(JNIEnv*, jclass, jlong);

JNIEXPORT void JNICALL Java_org_opencv_saliency_MotionSaliency_delete
  (JNIEnv*, jclass, jlong self)
{
    delete (Ptr<cv::saliency::MotionSaliency>*) self;
}


//
// static Ptr_MotionSaliencyBinWangApr2014 cv::saliency::MotionSaliencyBinWangApr2014::create()
//

JNIEXPORT jlong JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_create_10 (JNIEnv*, jclass);

JNIEXPORT jlong JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_create_10
  (JNIEnv* env, jclass )
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::create_10()";
    try {
        LOGD("%s", method_name);
        typedef Ptr<cv::saliency::MotionSaliencyBinWangApr2014> Ptr_MotionSaliencyBinWangApr2014;
        Ptr_MotionSaliencyBinWangApr2014 _retval_ = cv::saliency::MotionSaliencyBinWangApr2014::create();
        return (jlong)(new Ptr_MotionSaliencyBinWangApr2014(_retval_));
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  bool cv::saliency::MotionSaliencyBinWangApr2014::computeSaliency(Mat image, Mat& saliencyMap)
//

JNIEXPORT jboolean JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_computeSaliency_10 (JNIEnv*, jclass, jlong, jlong, jlong);

JNIEXPORT jboolean JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_computeSaliency_10
  (JNIEnv* env, jclass , jlong self, jlong image_nativeObj, jlong saliencyMap_nativeObj)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::computeSaliency_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::MotionSaliencyBinWangApr2014>* me = (Ptr<cv::saliency::MotionSaliencyBinWangApr2014>*) self; //TODO: check for NULL
        Mat& image = *((Mat*)image_nativeObj);
        Mat& saliencyMap = *((Mat*)saliencyMap_nativeObj);
        return (*me)->computeSaliency( image, saliencyMap );
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  void cv::saliency::MotionSaliencyBinWangApr2014::setImagesize(int W, int H)
//

JNIEXPORT void JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_setImagesize_10 (JNIEnv*, jclass, jlong, jint, jint);

JNIEXPORT void JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_setImagesize_10
  (JNIEnv* env, jclass , jlong self, jint W, jint H)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::setImagesize_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::MotionSaliencyBinWangApr2014>* me = (Ptr<cv::saliency::MotionSaliencyBinWangApr2014>*) self; //TODO: check for NULL
        (*me)->setImagesize( (int)W, (int)H );
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
}



//
//  bool cv::saliency::MotionSaliencyBinWangApr2014::init()
//

JNIEXPORT jboolean JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_init_10 (JNIEnv*, jclass, jlong);

JNIEXPORT jboolean JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_init_10
  (JNIEnv* env, jclass , jlong self)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::init_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::MotionSaliencyBinWangApr2014>* me = (Ptr<cv::saliency::MotionSaliencyBinWangApr2014>*) self; //TODO: check for NULL
        return (*me)->init();
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  int cv::saliency::MotionSaliencyBinWangApr2014::getImageWidth()
//

JNIEXPORT jint JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_getImageWidth_10 (JNIEnv*, jclass, jlong);

JNIEXPORT jint JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_getImageWidth_10
  (JNIEnv* env, jclass , jlong self)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::getImageWidth_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::MotionSaliencyBinWangApr2014>* me = (Ptr<cv::saliency::MotionSaliencyBinWangApr2014>*) self; //TODO: check for NULL
        return (*me)->getImageWidth();
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  void cv::saliency::MotionSaliencyBinWangApr2014::setImageWidth(int val)
//

JNIEXPORT void JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_setImageWidth_10 (JNIEnv*, jclass, jlong, jint);

JNIEXPORT void JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_setImageWidth_10
  (JNIEnv* env, jclass , jlong self, jint val)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::setImageWidth_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::MotionSaliencyBinWangApr2014>* me = (Ptr<cv::saliency::MotionSaliencyBinWangApr2014>*) self; //TODO: check for NULL
        (*me)->setImageWidth( (int)val );
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
}



//
//  int cv::saliency::MotionSaliencyBinWangApr2014::getImageHeight()
//

JNIEXPORT jint JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_getImageHeight_10 (JNIEnv*, jclass, jlong);

JNIEXPORT jint JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_getImageHeight_10
  (JNIEnv* env, jclass , jlong self)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::getImageHeight_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::MotionSaliencyBinWangApr2014>* me = (Ptr<cv::saliency::MotionSaliencyBinWangApr2014>*) self; //TODO: check for NULL
        return (*me)->getImageHeight();
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  void cv::saliency::MotionSaliencyBinWangApr2014::setImageHeight(int val)
//

JNIEXPORT void JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_setImageHeight_10 (JNIEnv*, jclass, jlong, jint);

JNIEXPORT void JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_setImageHeight_10
  (JNIEnv* env, jclass , jlong self, jint val)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::setImageHeight_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::MotionSaliencyBinWangApr2014>* me = (Ptr<cv::saliency::MotionSaliencyBinWangApr2014>*) self; //TODO: check for NULL
        (*me)->setImageHeight( (int)val );
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
}



//
//  native support for java finalize() or cleaner
//  static void Ptr<cv::saliency::MotionSaliencyBinWangApr2014>::delete( __int64 self )
//
JNIEXPORT void JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_delete(JNIEnv*, jclass, jlong);

JNIEXPORT void JNICALL Java_org_opencv_saliency_MotionSaliencyBinWangApr2014_delete
  (JNIEnv*, jclass, jlong self)
{
    delete (Ptr<cv::saliency::MotionSaliencyBinWangApr2014>*) self;
}


//
//  native support for java finalize() or cleaner
//  static void Ptr<cv::saliency::Objectness>::delete( __int64 self )
//
JNIEXPORT void JNICALL Java_org_opencv_saliency_Objectness_delete(JNIEnv*, jclass, jlong);

JNIEXPORT void JNICALL Java_org_opencv_saliency_Objectness_delete
  (JNIEnv*, jclass, jlong self)
{
    delete (Ptr<cv::saliency::Objectness>*) self;
}


//
// static Ptr_ObjectnessBING cv::saliency::ObjectnessBING::create()
//

JNIEXPORT jlong JNICALL Java_org_opencv_saliency_ObjectnessBING_create_10 (JNIEnv*, jclass);

JNIEXPORT jlong JNICALL Java_org_opencv_saliency_ObjectnessBING_create_10
  (JNIEnv* env, jclass )
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::create_10()";
    try {
        LOGD("%s", method_name);
        typedef Ptr<cv::saliency::ObjectnessBING> Ptr_ObjectnessBING;
        Ptr_ObjectnessBING _retval_ = cv::saliency::ObjectnessBING::create();
        return (jlong)(new Ptr_ObjectnessBING(_retval_));
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  bool cv::saliency::ObjectnessBING::computeSaliency(Mat image, Mat& saliencyMap)
//

JNIEXPORT jboolean JNICALL Java_org_opencv_saliency_ObjectnessBING_computeSaliency_10 (JNIEnv*, jclass, jlong, jlong, jlong);

JNIEXPORT jboolean JNICALL Java_org_opencv_saliency_ObjectnessBING_computeSaliency_10
  (JNIEnv* env, jclass , jlong self, jlong image_nativeObj, jlong saliencyMap_nativeObj)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::computeSaliency_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::ObjectnessBING>* me = (Ptr<cv::saliency::ObjectnessBING>*) self; //TODO: check for NULL
        Mat& image = *((Mat*)image_nativeObj);
        Mat& saliencyMap = *((Mat*)saliencyMap_nativeObj);
        return (*me)->computeSaliency( image, saliencyMap );
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  vector_float cv::saliency::ObjectnessBING::getobjectnessValues()
//

JNIEXPORT jlong JNICALL Java_org_opencv_saliency_ObjectnessBING_getobjectnessValues_10 (JNIEnv*, jclass, jlong);

JNIEXPORT jlong JNICALL Java_org_opencv_saliency_ObjectnessBING_getobjectnessValues_10
  (JNIEnv* env, jclass , jlong self)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::getobjectnessValues_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::ObjectnessBING>* me = (Ptr<cv::saliency::ObjectnessBING>*) self; //TODO: check for NULL
        std::vector<float> _ret_val_vector_ = (*me)->getobjectnessValues();
        Mat* _retval_ = new Mat();
        vector_float_to_Mat(_ret_val_vector_, *_retval_);
        return (jlong) _retval_;
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  void cv::saliency::ObjectnessBING::setTrainingPath(String trainingPath)
//

JNIEXPORT void JNICALL Java_org_opencv_saliency_ObjectnessBING_setTrainingPath_10 (JNIEnv*, jclass, jlong, jstring);

JNIEXPORT void JNICALL Java_org_opencv_saliency_ObjectnessBING_setTrainingPath_10
  (JNIEnv* env, jclass , jlong self, jstring trainingPath)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::setTrainingPath_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::ObjectnessBING>* me = (Ptr<cv::saliency::ObjectnessBING>*) self; //TODO: check for NULL
        const char* utf_trainingPath = env->GetStringUTFChars(trainingPath, 0); String n_trainingPath( utf_trainingPath ? utf_trainingPath : "" ); env->ReleaseStringUTFChars(trainingPath, utf_trainingPath);
        (*me)->setTrainingPath( n_trainingPath );
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
}



//
//  void cv::saliency::ObjectnessBING::setBBResDir(String resultsDir)
//

JNIEXPORT void JNICALL Java_org_opencv_saliency_ObjectnessBING_setBBResDir_10 (JNIEnv*, jclass, jlong, jstring);

JNIEXPORT void JNICALL Java_org_opencv_saliency_ObjectnessBING_setBBResDir_10
  (JNIEnv* env, jclass , jlong self, jstring resultsDir)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::setBBResDir_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::ObjectnessBING>* me = (Ptr<cv::saliency::ObjectnessBING>*) self; //TODO: check for NULL
        const char* utf_resultsDir = env->GetStringUTFChars(resultsDir, 0); String n_resultsDir( utf_resultsDir ? utf_resultsDir : "" ); env->ReleaseStringUTFChars(resultsDir, utf_resultsDir);
        (*me)->setBBResDir( n_resultsDir );
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
}



//
//  double cv::saliency::ObjectnessBING::getBase()
//

JNIEXPORT jdouble JNICALL Java_org_opencv_saliency_ObjectnessBING_getBase_10 (JNIEnv*, jclass, jlong);

JNIEXPORT jdouble JNICALL Java_org_opencv_saliency_ObjectnessBING_getBase_10
  (JNIEnv* env, jclass , jlong self)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::getBase_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::ObjectnessBING>* me = (Ptr<cv::saliency::ObjectnessBING>*) self; //TODO: check for NULL
        return (*me)->getBase();
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  void cv::saliency::ObjectnessBING::setBase(double val)
//

JNIEXPORT void JNICALL Java_org_opencv_saliency_ObjectnessBING_setBase_10 (JNIEnv*, jclass, jlong, jdouble);

JNIEXPORT void JNICALL Java_org_opencv_saliency_ObjectnessBING_setBase_10
  (JNIEnv* env, jclass , jlong self, jdouble val)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::setBase_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::ObjectnessBING>* me = (Ptr<cv::saliency::ObjectnessBING>*) self; //TODO: check for NULL
        (*me)->setBase( (double)val );
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
}



//
//  int cv::saliency::ObjectnessBING::getNSS()
//

JNIEXPORT jint JNICALL Java_org_opencv_saliency_ObjectnessBING_getNSS_10 (JNIEnv*, jclass, jlong);

JNIEXPORT jint JNICALL Java_org_opencv_saliency_ObjectnessBING_getNSS_10
  (JNIEnv* env, jclass , jlong self)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::getNSS_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::ObjectnessBING>* me = (Ptr<cv::saliency::ObjectnessBING>*) self; //TODO: check for NULL
        return (*me)->getNSS();
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  void cv::saliency::ObjectnessBING::setNSS(int val)
//

JNIEXPORT void JNICALL Java_org_opencv_saliency_ObjectnessBING_setNSS_10 (JNIEnv*, jclass, jlong, jint);

JNIEXPORT void JNICALL Java_org_opencv_saliency_ObjectnessBING_setNSS_10
  (JNIEnv* env, jclass , jlong self, jint val)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::setNSS_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::ObjectnessBING>* me = (Ptr<cv::saliency::ObjectnessBING>*) self; //TODO: check for NULL
        (*me)->setNSS( (int)val );
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
}



//
//  int cv::saliency::ObjectnessBING::getW()
//

JNIEXPORT jint JNICALL Java_org_opencv_saliency_ObjectnessBING_getW_10 (JNIEnv*, jclass, jlong);

JNIEXPORT jint JNICALL Java_org_opencv_saliency_ObjectnessBING_getW_10
  (JNIEnv* env, jclass , jlong self)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::getW_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::ObjectnessBING>* me = (Ptr<cv::saliency::ObjectnessBING>*) self; //TODO: check for NULL
        return (*me)->getW();
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  void cv::saliency::ObjectnessBING::setW(int val)
//

JNIEXPORT void JNICALL Java_org_opencv_saliency_ObjectnessBING_setW_10 (JNIEnv*, jclass, jlong, jint);

JNIEXPORT void JNICALL Java_org_opencv_saliency_ObjectnessBING_setW_10
  (JNIEnv* env, jclass , jlong self, jint val)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::setW_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::ObjectnessBING>* me = (Ptr<cv::saliency::ObjectnessBING>*) self; //TODO: check for NULL
        (*me)->setW( (int)val );
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
}



//
//  native support for java finalize() or cleaner
//  static void Ptr<cv::saliency::ObjectnessBING>::delete( __int64 self )
//
JNIEXPORT void JNICALL Java_org_opencv_saliency_ObjectnessBING_delete(JNIEnv*, jclass, jlong);

JNIEXPORT void JNICALL Java_org_opencv_saliency_ObjectnessBING_delete
  (JNIEnv*, jclass, jlong self)
{
    delete (Ptr<cv::saliency::ObjectnessBING>*) self;
}


//
//  bool cv::saliency::Saliency::computeSaliency(Mat image, Mat& saliencyMap)
//

JNIEXPORT jboolean JNICALL Java_org_opencv_saliency_Saliency_computeSaliency_10 (JNIEnv*, jclass, jlong, jlong, jlong);

JNIEXPORT jboolean JNICALL Java_org_opencv_saliency_Saliency_computeSaliency_10
  (JNIEnv* env, jclass , jlong self, jlong image_nativeObj, jlong saliencyMap_nativeObj)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::computeSaliency_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::Saliency>* me = (Ptr<cv::saliency::Saliency>*) self; //TODO: check for NULL
        Mat& image = *((Mat*)image_nativeObj);
        Mat& saliencyMap = *((Mat*)saliencyMap_nativeObj);
        return (*me)->computeSaliency( image, saliencyMap );
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  native support for java finalize() or cleaner
//  static void Ptr<cv::saliency::Saliency>::delete( __int64 self )
//
JNIEXPORT void JNICALL Java_org_opencv_saliency_Saliency_delete(JNIEnv*, jclass, jlong);

JNIEXPORT void JNICALL Java_org_opencv_saliency_Saliency_delete
  (JNIEnv*, jclass, jlong self)
{
    delete (Ptr<cv::saliency::Saliency>*) self;
}


//
//  bool cv::saliency::StaticSaliency::computeBinaryMap(Mat _saliencyMap, Mat& _binaryMap)
//

JNIEXPORT jboolean JNICALL Java_org_opencv_saliency_StaticSaliency_computeBinaryMap_10 (JNIEnv*, jclass, jlong, jlong, jlong);

JNIEXPORT jboolean JNICALL Java_org_opencv_saliency_StaticSaliency_computeBinaryMap_10
  (JNIEnv* env, jclass , jlong self, jlong _saliencyMap_nativeObj, jlong _binaryMap_nativeObj)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::computeBinaryMap_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::StaticSaliency>* me = (Ptr<cv::saliency::StaticSaliency>*) self; //TODO: check for NULL
        Mat& _saliencyMap = *((Mat*)_saliencyMap_nativeObj);
        Mat& _binaryMap = *((Mat*)_binaryMap_nativeObj);
        return (*me)->computeBinaryMap( _saliencyMap, _binaryMap );
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  native support for java finalize() or cleaner
//  static void Ptr<cv::saliency::StaticSaliency>::delete( __int64 self )
//
JNIEXPORT void JNICALL Java_org_opencv_saliency_StaticSaliency_delete(JNIEnv*, jclass, jlong);

JNIEXPORT void JNICALL Java_org_opencv_saliency_StaticSaliency_delete
  (JNIEnv*, jclass, jlong self)
{
    delete (Ptr<cv::saliency::StaticSaliency>*) self;
}


//
// static Ptr_StaticSaliencyFineGrained cv::saliency::StaticSaliencyFineGrained::create()
//

JNIEXPORT jlong JNICALL Java_org_opencv_saliency_StaticSaliencyFineGrained_create_10 (JNIEnv*, jclass);

JNIEXPORT jlong JNICALL Java_org_opencv_saliency_StaticSaliencyFineGrained_create_10
  (JNIEnv* env, jclass )
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::create_10()";
    try {
        LOGD("%s", method_name);
        typedef Ptr<cv::saliency::StaticSaliencyFineGrained> Ptr_StaticSaliencyFineGrained;
        Ptr_StaticSaliencyFineGrained _retval_ = cv::saliency::StaticSaliencyFineGrained::create();
        return (jlong)(new Ptr_StaticSaliencyFineGrained(_retval_));
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  bool cv::saliency::StaticSaliencyFineGrained::computeSaliency(Mat image, Mat& saliencyMap)
//

JNIEXPORT jboolean JNICALL Java_org_opencv_saliency_StaticSaliencyFineGrained_computeSaliency_10 (JNIEnv*, jclass, jlong, jlong, jlong);

JNIEXPORT jboolean JNICALL Java_org_opencv_saliency_StaticSaliencyFineGrained_computeSaliency_10
  (JNIEnv* env, jclass , jlong self, jlong image_nativeObj, jlong saliencyMap_nativeObj)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::computeSaliency_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::StaticSaliencyFineGrained>* me = (Ptr<cv::saliency::StaticSaliencyFineGrained>*) self; //TODO: check for NULL
        Mat& image = *((Mat*)image_nativeObj);
        Mat& saliencyMap = *((Mat*)saliencyMap_nativeObj);
        return (*me)->computeSaliency( image, saliencyMap );
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  native support for java finalize() or cleaner
//  static void Ptr<cv::saliency::StaticSaliencyFineGrained>::delete( __int64 self )
//
JNIEXPORT void JNICALL Java_org_opencv_saliency_StaticSaliencyFineGrained_delete(JNIEnv*, jclass, jlong);

JNIEXPORT void JNICALL Java_org_opencv_saliency_StaticSaliencyFineGrained_delete
  (JNIEnv*, jclass, jlong self)
{
    delete (Ptr<cv::saliency::StaticSaliencyFineGrained>*) self;
}


//
// static Ptr_StaticSaliencySpectralResidual cv::saliency::StaticSaliencySpectralResidual::create()
//

JNIEXPORT jlong JNICALL Java_org_opencv_saliency_StaticSaliencySpectralResidual_create_10 (JNIEnv*, jclass);

JNIEXPORT jlong JNICALL Java_org_opencv_saliency_StaticSaliencySpectralResidual_create_10
  (JNIEnv* env, jclass )
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::create_10()";
    try {
        LOGD("%s", method_name);
        typedef Ptr<cv::saliency::StaticSaliencySpectralResidual> Ptr_StaticSaliencySpectralResidual;
        Ptr_StaticSaliencySpectralResidual _retval_ = cv::saliency::StaticSaliencySpectralResidual::create();
        return (jlong)(new Ptr_StaticSaliencySpectralResidual(_retval_));
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  bool cv::saliency::StaticSaliencySpectralResidual::computeSaliency(Mat image, Mat& saliencyMap)
//

JNIEXPORT jboolean JNICALL Java_org_opencv_saliency_StaticSaliencySpectralResidual_computeSaliency_10 (JNIEnv*, jclass, jlong, jlong, jlong);

JNIEXPORT jboolean JNICALL Java_org_opencv_saliency_StaticSaliencySpectralResidual_computeSaliency_10
  (JNIEnv* env, jclass , jlong self, jlong image_nativeObj, jlong saliencyMap_nativeObj)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::computeSaliency_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::StaticSaliencySpectralResidual>* me = (Ptr<cv::saliency::StaticSaliencySpectralResidual>*) self; //TODO: check for NULL
        Mat& image = *((Mat*)image_nativeObj);
        Mat& saliencyMap = *((Mat*)saliencyMap_nativeObj);
        return (*me)->computeSaliency( image, saliencyMap );
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  int cv::saliency::StaticSaliencySpectralResidual::getImageWidth()
//

JNIEXPORT jint JNICALL Java_org_opencv_saliency_StaticSaliencySpectralResidual_getImageWidth_10 (JNIEnv*, jclass, jlong);

JNIEXPORT jint JNICALL Java_org_opencv_saliency_StaticSaliencySpectralResidual_getImageWidth_10
  (JNIEnv* env, jclass , jlong self)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::getImageWidth_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::StaticSaliencySpectralResidual>* me = (Ptr<cv::saliency::StaticSaliencySpectralResidual>*) self; //TODO: check for NULL
        return (*me)->getImageWidth();
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  void cv::saliency::StaticSaliencySpectralResidual::setImageWidth(int val)
//

JNIEXPORT void JNICALL Java_org_opencv_saliency_StaticSaliencySpectralResidual_setImageWidth_10 (JNIEnv*, jclass, jlong, jint);

JNIEXPORT void JNICALL Java_org_opencv_saliency_StaticSaliencySpectralResidual_setImageWidth_10
  (JNIEnv* env, jclass , jlong self, jint val)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::setImageWidth_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::StaticSaliencySpectralResidual>* me = (Ptr<cv::saliency::StaticSaliencySpectralResidual>*) self; //TODO: check for NULL
        (*me)->setImageWidth( (int)val );
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
}



//
//  int cv::saliency::StaticSaliencySpectralResidual::getImageHeight()
//

JNIEXPORT jint JNICALL Java_org_opencv_saliency_StaticSaliencySpectralResidual_getImageHeight_10 (JNIEnv*, jclass, jlong);

JNIEXPORT jint JNICALL Java_org_opencv_saliency_StaticSaliencySpectralResidual_getImageHeight_10
  (JNIEnv* env, jclass , jlong self)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::getImageHeight_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::StaticSaliencySpectralResidual>* me = (Ptr<cv::saliency::StaticSaliencySpectralResidual>*) self; //TODO: check for NULL
        return (*me)->getImageHeight();
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
    return 0;
}



//
//  void cv::saliency::StaticSaliencySpectralResidual::setImageHeight(int val)
//

JNIEXPORT void JNICALL Java_org_opencv_saliency_StaticSaliencySpectralResidual_setImageHeight_10 (JNIEnv*, jclass, jlong, jint);

JNIEXPORT void JNICALL Java_org_opencv_saliency_StaticSaliencySpectralResidual_setImageHeight_10
  (JNIEnv* env, jclass , jlong self, jint val)
{
    using namespace cv::saliency;
    static const char method_name[] = "saliency::setImageHeight_10()";
    try {
        LOGD("%s", method_name);
        Ptr<cv::saliency::StaticSaliencySpectralResidual>* me = (Ptr<cv::saliency::StaticSaliencySpectralResidual>*) self; //TODO: check for NULL
        (*me)->setImageHeight( (int)val );
    } catch(const std::exception &e) {
        throwJavaException(env, &e, method_name);
    } catch (...) {
        throwJavaException(env, 0, method_name);
    }
}



//
//  native support for java finalize() or cleaner
//  static void Ptr<cv::saliency::StaticSaliencySpectralResidual>::delete( __int64 self )
//
JNIEXPORT void JNICALL Java_org_opencv_saliency_StaticSaliencySpectralResidual_delete(JNIEnv*, jclass, jlong);

JNIEXPORT void JNICALL Java_org_opencv_saliency_StaticSaliencySpectralResidual_delete
  (JNIEnv*, jclass, jlong self)
{
    delete (Ptr<cv::saliency::StaticSaliencySpectralResidual>*) self;
}



} // extern "C"

#endif // HAVE_OPENCV_SALIENCY
