3

opencvでoclモジュールを使用しようとしています。Visual Studio 2012 を使用しています

サーフを使用した機能検出のサンプル コードから始めました。コードは次のようになります。

SURF detector;
SURF extractor;
BFMatcher matcher;

std::vector<KeyPoint> keypoints_1, keypoints_2;

detector.detect( image1, keypoints_1 );
detector.detect( image2, keypoints_2 );

//-- Step 2: Calculate descriptors (feature vectors)
Mat descriptors_1, descriptors_2;

extractor.compute( image1, keypoints_1, descriptors_1 );
extractor.compute( image2, keypoints_2, descriptors_2 );

//-- Step 3: Matching descriptor vectors using FLANN matcher
std::vector< DMatch > matches;
matcher.match( descriptors_1, descriptors_2, matches);

コードは完全に機能します。今度は、SURF の代わりに SURF_OCL を使用したいと思います。私は何をすべきか?

次のコードは機能しません。

ocl::SURF_OCL detector;
ocl::SURF_OCL extractor;

コンパイル時エラーを生成します:

'ocl' : is not a class or namespace name
'SURF_OCL' : undeclared identifier

ocl ライブラリの関数を使用できるようにするにはどうすればよいですか?

4

1 に答える 1

3

You are missing an #include <...>, probably #include <opencv2/nonfree/ocl.hpp>. See here for an example.

于 2013-10-17T11:32:47.047 に答える