Я пытаюсь использовать классы OpenCV FeatureDetector
; MSER, хорошие характеристики для отслеживания, БЫСТРО и т.д.FeatureDetectors не в OpenCV 3.0.0?
Но когда я использую их, я получаю сообщение об ошибке компилятора:
Error 1 error C2259: 'cv::FastFeatureDetector' : cannot instantiate abstract class
мне нужно включить специальный файл заголовка, DLL или что-то делать? Что происходит не так? Я получаю ошибки компилятора почти в каждом FeatureDescriptor
Я пытаюсь использовать. Например, использование GoodFeaturesToTrackDetector
вызывает другую ошибку компилятора:
Error 1 error C2039: 'GoodFeaturesToTrackDetector' : is not a member of 'cv'
Я использую OpenCV 3.0.0. Я использую Windows 8.1 с помощью VS2013. Я в том числе следующих библиотек OpenCV:
- opencv_world300d.lib
- opencv_highgui300d.lib
- opencv_imgcodecs300d.lib
- opencv_text300d.lib
- opencv_features2d300d.lib
- opencv_imgproc300d.lib
#include <iostream>
#include "opencv2/core.hpp"
#include "opencv2/features2d.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/calib3d.hpp"
using namespace cv;
void featureDetectorExperimentation()
{
image = imread("i.jpg");
std::vector<KeyPoint> keypoints;
Ptr<FeatureDetector> fast = new FastFeatureDetector(40);
// Above line compiler error: "Error 1 error C2259: 'cv::FastFeatureDetector' : cannot instantiate abstract class"
fast->detect(image, keypoints);
drawKeypoints(image, keypoints, image, Scalar(255, 255, 255), DrawMatchesFlags::DRAW_OVER_OUTIMG);
imshow("Image", image);
}