From 2cf16db683add5c9a4775bf17c76b6e55abcd8ee Mon Sep 17 00:00:00 2001 From: Baichuan Su Date: Mon, 11 Nov 2013 11:46:07 +0800 Subject: [PATCH] Add Macro to decide using ocl method or not. --- samples/cpp/bagofwords_classification.cpp | 7 ++++--- samples/cpp/points_classifier.cpp | 8 +++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/samples/cpp/bagofwords_classification.cpp b/samples/cpp/bagofwords_classification.cpp index 9749b4a2f0..fbb312f930 100644 --- a/samples/cpp/bagofwords_classification.cpp +++ b/samples/cpp/bagofwords_classification.cpp @@ -5,6 +5,7 @@ #include "opencv2/nonfree/nonfree.hpp" #include "opencv2/ml/ml.hpp" #ifdef HAVE_OPENCV_OCL +#define _OCL_SVM_ 0 //select whether using ocl::svm method or not, default is not #include "opencv2/ocl/ocl.hpp" #endif @@ -2377,7 +2378,7 @@ static void setSVMTrainAutoParams( CvParamGrid& c_grid, CvParamGrid& gamma_grid, degree_grid.step = 0; } -#ifdef HAVE_OPENCV_OCL +#if defined HAVE_OPENCV_OCL && _OCL_SVM_ static void trainSVMClassifier( cv::ocl::CvSVM_OCL& svm, const SVMTrainParamsExt& svmParamsExt, const string& objClassName, VocData& vocData, Ptr& bowExtractor, const Ptr& fdetector, const string& resPath ) @@ -2458,7 +2459,7 @@ static void trainSVMClassifier( CvSVM& svm, const SVMTrainParamsExt& svmParamsEx } } -#ifdef HAVE_OPENCV_OCL +#if defined HAVE_OPENCV_OCL && _OCL_SVM_ static void computeConfidences( cv::ocl::CvSVM_OCL& svm, const string& objClassName, VocData& vocData, Ptr& bowExtractor, const Ptr& fdetector, const string& resPath ) @@ -2605,7 +2606,7 @@ int main(int argc, char** argv) for( size_t classIdx = 0; classIdx < objClasses.size(); ++classIdx ) { // Train a classifier on train dataset -#ifdef HAVE_OPENCV_OCL +#if defined HAVE_OPENCV_OCL && _OCL_SVM_ cv::ocl::CvSVM_OCL svm; #else CvSVM svm; diff --git a/samples/cpp/points_classifier.cpp b/samples/cpp/points_classifier.cpp index ca6c0c6817..b0dc0357c9 100644 --- a/samples/cpp/points_classifier.cpp +++ b/samples/cpp/points_classifier.cpp @@ -3,6 +3,8 @@ #include "opencv2/ml/ml.hpp" #include "opencv2/highgui/highgui.hpp" #ifdef HAVE_OPENCV_OCL +#define _OCL_KNN_ 0 // select whether using ocl::KNN method or not, default is not +#define _OCL_SVM_ 0 // select whether using ocl::svm method or not, default is not #include "opencv2/ocl/ocl.hpp" #endif @@ -137,7 +139,7 @@ static void find_decision_boundary_KNN( int K ) prepare_train_data( trainSamples, trainClasses ); // learn classifier -#ifdef HAVE_OPENCV_OCL +#if defined HAVE_OPENCV_OCL && _OCL_KNN_ cv::ocl::KNearestNeighbour knnClassifier; Mat temp, result; knnClassifier.train(trainSamples, trainClasses, temp, false, K); @@ -153,7 +155,7 @@ static void find_decision_boundary_KNN( int K ) { testSample.at(0) = (float)x; testSample.at(1) = (float)y; -#ifdef HAVE_OPENCV_OCL +#if defined HAVE_OPENCV_OCL && _OCL_KNN_ testSample_ocl.upload(testSample); knnClassifier.find_nearest(testSample_ocl, K, reslut_ocl); @@ -180,7 +182,7 @@ static void find_decision_boundary_SVM( CvSVMParams params ) prepare_train_data( trainSamples, trainClasses ); // learn classifier -#ifdef HAVE_OPENCV_OCL +#if defined HAVE_OPENCV_OCL && _OCL_SVM_ cv::ocl::CvSVM_OCL svmClassifier(trainSamples, trainClasses, Mat(), Mat(), params); #else CvSVM svmClassifier( trainSamples, trainClasses, Mat(), Mat(), params );