Made samples build independent from nonfree module.

pull/5514/head
Alexander Smorkalov 10 years ago
parent bd34f6dd98
commit bba8c0beac
  1. 6
      samples/CMakeLists.txt
  2. 2
      samples/c/CMakeLists.txt
  3. 18
      samples/c/find_obj.cpp
  4. 15
      samples/c/find_obj_calonder.cpp
  5. 16
      samples/c/one_way_sample.cpp
  6. 5
      samples/cpp/CMakeLists.txt
  7. 16
      samples/cpp/bagofwords_classification.cpp
  8. 11
      samples/cpp/descriptor_extractor_matcher.cpp
  9. 14
      samples/cpp/fabmap_sample.cpp
  10. 14
      samples/cpp/freak_demo.cpp
  11. 18
      samples/cpp/generic_descriptor_match.cpp
  12. 14
      samples/cpp/matcher_simple.cpp
  13. 19
      samples/cpp/tutorial_code/features2D/SURF_FlannMatcher.cpp
  14. 19
      samples/cpp/tutorial_code/features2D/SURF_Homography.cpp
  15. 15
      samples/cpp/tutorial_code/features2D/SURF_descriptor.cpp
  16. 15
      samples/cpp/tutorial_code/features2D/SURF_detector.cpp
  17. 5
      samples/ocl/CMakeLists.txt
  18. 15
      samples/ocl/surf_matcher.cpp

@ -68,8 +68,14 @@ endif()
add_subdirectory(c)
add_subdirectory(cpp)
ocv_check_dependencies(opencv_ocl)
if (OCV_DEPENDENCIES_FOUND)
add_subdirectory(ocl)
endif()
ocv_check_dependencies(opencv_gpu)
if (OCV_DEPENDENCIES_FOUND)
add_subdirectory(gpu)
endif()
#
# END OF BUILD CASE 2: Build samples with library binaries

@ -4,7 +4,7 @@
# ----------------------------------------------------------------------------
SET(OPENCV_C_SAMPLES_REQUIRED_DEPS opencv_core opencv_flann opencv_imgproc
opencv_highgui opencv_ml opencv_video opencv_objdetect opencv_photo opencv_nonfree
opencv_highgui opencv_ml opencv_video opencv_objdetect opencv_photo
opencv_features2d opencv_calib3d opencv_legacy opencv_contrib)
ocv_check_dependencies(${OPENCV_C_SAMPLES_REQUIRED_DEPS})

@ -4,6 +4,20 @@
* Author: Liu Liu
* liuliu.1987+opencv@gmail.com
*/
#include "opencv2/opencv_modules.hpp"
#include <stdio.h>
#ifndef HAVE_OPENCV_NONFREE
int main(int, char**)
{
printf("The sample requires nonfree module that is not available in your OpenCV distribution.\n");
return -1;
}
#else
# include "opencv2/objdetect/objdetect.hpp"
# include "opencv2/features2d/features2d.hpp"
# include "opencv2/highgui/highgui.hpp"
@ -13,9 +27,7 @@
# include "opencv2/legacy/legacy.hpp"
# include "opencv2/legacy/compat.hpp"
#include <iostream>
# include <vector>
#include <stdio.h>
using namespace std;
static void help()
@ -320,3 +332,5 @@ int main(int argc, char** argv)
return 0;
}
#endif

@ -1,3 +1,16 @@
#include "opencv2/opencv_modules.hpp"
#include <iostream>
#ifndef HAVE_OPENCV_NONFREE
int main(int, char**)
{
std::cout << "The sample requires nonfree module that is not available in your OpenCV distribution." << std::endl;
return -1;
}
#else
# include "opencv2/highgui/highgui.hpp"
# include "opencv2/core/core.hpp"
# include "opencv2/imgproc/imgproc.hpp"
@ -164,3 +177,5 @@ int main( int argc, char **argv )
return 0;
}
#endif

@ -7,6 +7,19 @@
*
*/
#include "opencv2/opencv_modules.hpp"
#include <stdio.h>
#ifndef HAVE_OPENCV_NONFREE
int main(int, char**)
{
printf("The sample requires nonfree module that is not available in your OpenCV distribution.\n");
return -1;
}
#else
# include "opencv2/imgproc/imgproc.hpp"
# include "opencv2/features2d/features2d.hpp"
# include "opencv2/highgui/highgui.hpp"
@ -16,7 +29,6 @@
# include "opencv2/legacy/compat.hpp"
#include <string>
#include <stdio.h>
static void help()
{
@ -116,3 +128,5 @@ Mat DrawCorrespondences(const Mat& img1, const vector<KeyPoint>& features1, cons
return img_corr;
}
#endif

@ -4,8 +4,9 @@
# ----------------------------------------------------------------------------
SET(OPENCV_CPP_SAMPLES_REQUIRED_DEPS opencv_core opencv_flann opencv_imgproc
opencv_highgui opencv_ml opencv_video opencv_objdetect opencv_photo opencv_nonfree
opencv_features2d opencv_calib3d opencv_legacy opencv_contrib opencv_stitching opencv_videostab)
opencv_highgui opencv_ml opencv_video opencv_objdetect opencv_photo
opencv_features2d opencv_calib3d opencv_legacy opencv_contrib
opencv_stitching opencv_videostab)
ocv_check_dependencies(${OPENCV_CPP_SAMPLES_REQUIRED_DEPS})

@ -1,4 +1,16 @@
#include "opencv2/opencv_modules.hpp"
#include <iostream>
#ifndef HAVE_OPENCV_NONFREE
int main(int, char**)
{
std::cout << "The sample requires nonfree module that is not available in your OpenCV distribution." << std::endl;
return -1;
}
#else
# include "opencv2/highgui/highgui.hpp"
# include "opencv2/imgproc/imgproc.hpp"
# include "opencv2/features2d/features2d.hpp"
@ -10,10 +22,10 @@
# endif
# include <fstream>
#include <iostream>
# include <memory>
# include <functional>
# if defined WIN32 || defined _WIN32
# define WIN32_LEAN_AND_MEAN
# include <windows.h>
@ -2623,3 +2635,5 @@ int main(int argc, char** argv)
}
return 0;
}
#endif

@ -1,8 +1,11 @@
#include "opencv2/opencv_modules.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/calib3d/calib3d.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/features2d/features2d.hpp"
#ifdef HAVE_OPENCV_NONFREE
# include "opencv2/nonfree/nonfree.hpp"
#endif
#include <iostream>
@ -17,14 +20,14 @@ static void help(char** argv)
<< "Case1: second image is obtained from the first (given) image using random generated homography matrix\n"
<< argv[0] << " [detectorType] [descriptorType] [matcherType] [matcherFilterType] [image] [evaluate(0 or 1)]\n"
<< "Example of case1:\n"
<< "./descriptor_extractor_matcher SURF SURF FlannBased NoneFilter cola.jpg 0\n"
<< "./descriptor_extractor_matcher ORB ORB FlannBased NoneFilter cola.jpg 0\n"
<< "\n"
<< "Case2: both images are given. If ransacReprojThreshold>=0 then homography matrix are calculated\n"
<< argv[0] << " [detectorType] [descriptorType] [matcherType] [matcherFilterType] [image1] [image2] [ransacReprojThreshold]\n"
<< "\n"
<< "Matches are filtered using homography matrix in case1 and case2 (if ransacReprojThreshold>=0)\n"
<< "Example of case2:\n"
<< "./descriptor_extractor_matcher SURF SURF BruteForce CrossCheckFilter cola1.jpg cola2.jpg 3\n"
<< "./descriptor_extractor_matcher ORB ORB BruteForce CrossCheckFilter cola1.jpg cola2.jpg 3\n"
<< "\n"
<< "Possible detectorType values: see in documentation on createFeatureDetector().\n"
<< "Possible descriptorType values: see in documentation on createDescriptorExtractor().\n"
@ -239,7 +242,11 @@ int main(int argc, char** argv)
return -1;
}
#ifdef HAVE_OPENCV_NONFREE
cv::initModule_nonfree();
#else
cout << "Warning: OpenCV is built without nonfree support SIFT, SURF and some other algorithms are not available." << endl;
#endif
bool isWarpPerspective = argc == 7;
double ransacReprojThreshold = -1;

@ -49,6 +49,18 @@
//
//M*/
#include "opencv2/opencv_modules.hpp"
#include <iostream>
#ifndef HAVE_OPENCV_NONFREE
int main(int, char**)
{
std::cout << "The sample requires nonfree module that is not available in your OpenCV distribution." << std::endl;
return -1;
}
#else
# include "opencv2/opencv.hpp"
# include "opencv2/nonfree/nonfree.hpp"
@ -212,3 +224,5 @@ int main(int argc, char * argv[]) {
return 0;
}
#endif

@ -34,7 +34,19 @@
// or tort (including negligence or otherwise) arising in any way out of
// the use of this software, even if advised of the possibility of such damage.
#include "opencv2/opencv_modules.hpp"
#include <iostream>
#ifndef HAVE_OPENCV_NONFREE
int main(int, char**)
{
std::cout << "The sample requires nonfree module that is not available in your OpenCV distribution." << std::endl;
return -1;
}
#else
# include <string>
# include <vector>
@ -126,3 +138,5 @@ int main( int argc, char** argv ) {
imshow("matches", imgMatch);
waitKey(0);
}
#endif

@ -1,11 +1,23 @@
#include "opencv2/opencv_modules.hpp"
#include <cstdio>
#ifndef HAVE_OPENCV_NONFREE
int main(int, char**)
{
printf("The sample requires nonfree module that is not available in your OpenCV distribution.\n");
return -1;
}
#else
# include "opencv2/opencv_modules.hpp"
# include "opencv2/calib3d/calib3d.hpp"
# include "opencv2/features2d/features2d.hpp"
# include "opencv2/highgui/highgui.hpp"
# include "opencv2/imgproc/imgproc.hpp"
# include "opencv2/nonfree/nonfree.hpp"
#include <cstdio>
using namespace cv;
static void help()
@ -91,3 +103,5 @@ Mat DrawCorrespondences(const Mat& img1, const vector<KeyPoint>& features1, cons
return img_corr;
}
#endif

@ -1,4 +1,16 @@
#include "opencv2/opencv_modules.hpp"
#include <stdio.h>
#ifndef HAVE_OPENCV_NONFREE
int main(int, char**)
{
printf("The sample requires nonfree module that is not available in your OpenCV distribution.\n");
return -1;
}
#else
# include "opencv2/core/core.hpp"
# include "opencv2/features2d/features2d.hpp"
# include "opencv2/highgui/highgui.hpp"
@ -56,3 +68,5 @@ int main(int argc, char** argv)
return 0;
}
#endif

@ -4,8 +4,19 @@
* @author A. Huaman
*/
#include "opencv2/opencv_modules.hpp"
#include <stdio.h>
#include <iostream>
#ifndef HAVE_OPENCV_NONFREE
int main(int, char**)
{
printf("The sample requires nonfree module that is not available in your OpenCV distribution.\n");
return -1;
}
#else
# include "opencv2/core/core.hpp"
# include "opencv2/features2d/features2d.hpp"
# include "opencv2/highgui/highgui.hpp"
@ -28,7 +39,7 @@ int main( int argc, char** argv )
Mat img_2 = imread( argv[2], CV_LOAD_IMAGE_GRAYSCALE );
if( !img_1.data || !img_2.data )
{ std::cout<< " --(!) Error reading images " << std::endl; return -1; }
{ printf(" --(!) Error reading images \n"); return -1; }
//-- Step 1: Detect the keypoints using SURF Detector
int minHessian = 400;
@ -97,4 +108,6 @@ int main( int argc, char** argv )
* @function readme
*/
void readme()
{ std::cout << " Usage: ./SURF_FlannMatcher <img1> <img2>" << std::endl; }
{ printf(" Usage: ./SURF_FlannMatcher <img1> <img2>\n"); }
#endif

@ -4,8 +4,19 @@
* @author A. Huaman
*/
#include "opencv2/opencv_modules.hpp"
#include <stdio.h>
#include <iostream>
#ifndef HAVE_OPENCV_NONFREE
int main(int, char**)
{
printf("The sample requires nonfree module that is not available in your OpenCV distribution.\n");
return -1;
}
#else
# include "opencv2/core/core.hpp"
# include "opencv2/features2d/features2d.hpp"
# include "opencv2/highgui/highgui.hpp"
@ -29,7 +40,7 @@ int main( int argc, char** argv )
Mat img_scene = imread( argv[2], CV_LOAD_IMAGE_GRAYSCALE );
if( !img_object.data || !img_scene.data )
{ std::cout<< " --(!) Error reading images " << std::endl; return -1; }
{ printf(" --(!) Error reading images \n"); return -1; }
//-- Step 1: Detect the keypoints using SURF Detector
int minHessian = 400;
@ -121,4 +132,6 @@ int main( int argc, char** argv )
* @function readme
*/
void readme()
{ std::cout << " Usage: ./SURF_Homography <img1> <img2>" << std::endl; }
{ printf(" Usage: ./SURF_Homography <img1> <img2>\n"); }
#endif

@ -4,8 +4,19 @@
* @author A. Huaman
*/
#include "opencv2/opencv_modules.hpp"
#include <stdio.h>
#include <iostream>
#ifndef HAVE_OPENCV_NONFREE
int main(int, char**)
{
printf("The sample requires nonfree module that is not available in your OpenCV distribution.\n");
return -1;
}
#else
# include "opencv2/core/core.hpp"
# include "opencv2/features2d/features2d.hpp"
# include "opencv2/highgui/highgui.hpp"
@ -70,3 +81,5 @@ int main( int argc, char** argv )
*/
void readme()
{ std::cout << " Usage: ./SURF_descriptor <img1> <img2>" << std::endl; }
#endif

@ -4,8 +4,19 @@
* @author A. Huaman
*/
#include <stdio.h>
#include "opencv2/opencv_modules.hpp"
#include <iostream>
#ifndef HAVE_OPENCV_NONFREE
int main(int, char**)
{
std::cout << "The sample requires nonfree module that is not available in your OpenCV distribution." << std::endl;
return -1;
}
#else
# include "opencv2/core/core.hpp"
# include "opencv2/features2d/features2d.hpp"
# include "opencv2/highgui/highgui.hpp"
@ -60,3 +71,5 @@ int main( int argc, char** argv )
*/
void readme()
{ std::cout << " Usage: ./SURF_detector <img1> <img2>" << std::endl; }
#endif

@ -1,7 +1,6 @@
SET(OPENCV_OCL_SAMPLES_REQUIRED_DEPS opencv_core opencv_flann opencv_imgproc opencv_highgui
opencv_ml opencv_video opencv_objdetect opencv_features2d
opencv_calib3d opencv_legacy opencv_contrib opencv_ocl
opencv_nonfree)
opencv_calib3d opencv_legacy opencv_contrib opencv_ocl)
ocv_check_dependencies(${OPENCV_OCL_SAMPLES_REQUIRED_DEPS})
@ -52,7 +51,7 @@ if(BUILD_EXAMPLES AND OCV_DEPENDENCIES_FOUND)
endif()
if (OCV_DEPENDENCIES_FOUND AND INSTALL_C_EXAMPLES AND NOT WIN32)
file(GLOB install_list *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd *.txt)
file(GLOB install_list *.c *.cpp *.jpg *.png *.data makefile.* *.txt)
install(FILES ${install_list}
DESTINATION ${OPENCV_SAMPLES_SRC_INSTALL_PATH}/ocl
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)

@ -1,5 +1,16 @@
#include "opencv2/opencv_modules.hpp"
#include <iostream>
#include <stdio.h>
#ifndef HAVE_OPENCV_NONFREE
int main(int, char**)
{
std::cout << "The sample requires nonfree module that is not available in your OpenCV distribution." << std::endl;
return -1;
}
#else
# include "opencv2/core/core.hpp"
# include "opencv2/highgui/highgui.hpp"
# include "opencv2/ocl/ocl.hpp"
@ -326,3 +337,5 @@ int main(int argc, char* argv[])
waitKey(0);
return EXIT_SUCCESS;
}
#endif

Loading…
Cancel
Save