在Windows 8中安装带有VS2010的OpenCV 3.2 for 64位

时间:2017-02-22 07:27:05

标签: opencv

我想在Visual Studio 2010中使用OpenCv3.2,我使用Windows 8,64位并安装OpenCV 3.2并完成环境变量设置作为追加路径:OPENCV_DIR%\bin;C:\Program Files\opencv\build\x64\vc14\bin and also add Libraries in VS2010 from Project Properties->VC ++ Directories->C:\Program Files %28x86%29\opencv\build\include

并在项目中的.cpp文件中添加所有hpp文件。 包含的文件是:

enter image description here

# include "opencv2/opencv_modules.hpp"

# include <iostream>

# include "opencv2/core/core.hpp"

# include "opencv2/features2d/features2d.hpp"

# include "opencv2/highgui/highgui.hpp"

仅包括#include&#34; opencv2 / nonfree / features2d.hpp&#34;由于我不能使用SurfFeatureDetector方法,因此包含在opencv2 / nonfree / features2d.hpp中。

/**
   * @file SURF_detector
   * @brief SURF keypoint detection + keypoint drawing with OpenCV functions
   * @author A. Huaman
    */

       #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"
       # include "opencv2/nonfree/features2d.hpp"

       using namespace cv;

       void readme();

       /**
        * @function main
        * @brief Main function
        */
       int main( int argc, char** argv )
       {
         if( argc != 3 )
         { readme(); return -1; }

         Mat img_1 = imread( argv[1], CV_LOAD_IMAGE_GRAYSCALE );
         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; }

         //-- Step 1: Detect the keypoints using SURF Detector
         int minHessian = 400;

         SurfFeatureDetector detector( minHessian );

         std::vector<KeyPoint> keypoints_1, keypoints_2;

         detector.detect( img_1, keypoints_1 );
         detector.detect( img_2, keypoints_2 );

         //-- Draw keypoints
         Mat img_keypoints_1; Mat img_keypoints_2;
                                                                                      drawKeypoints(img_1,keypoints_1,img_keypoints_1,Scalar::all(-1),            
         DrawMatchesFlags::DEFAULT );
    drawKeypoints(img_2,keypoints_2,img_keypoints_2,Scalar::all(-1),             
          DrawMatchesFlags::DEFAULT );

         //-- Show detected (drawn) keypoints
         imshow("Keypoints 1", img_keypoints_1 );
         imshow("Keypoints 2", img_keypoints_2 );

         waitKey(0);

         return 0;
         }

/**
 * @function readme
 */
void readme()
{ std::cout << " Usage: ./SURF_detector <img1> <img2>" << std::endl; }

#endif

0 个答案:

没有答案