surf-opencv3.0 error C2065: SurfFeatureDetector未定义标识符

问题描述

opencv3.0 error C2065: SurfFeatureDetector未定义标识符

编程环境:win7旗舰版+opencv3.0(含opencv_contrib-master)+vs2013

我在opencv3.0下使用SURF算法提取特征时出现了以下错误:error C2065: “SurfFeatureDetector”未定义标识符

我在nonfree.hpp文件下查看了SurfFeatureDetector的定义,在路径“opencv2/xfeatures2d/nonfree.hpp”下可以找到nonfree.hpp(这个路径是用CMAKE 编译 opencv_contrib-master下 源代码后下的相应路径)。 在nonfree.hpp中明明可以看到SURF类的定义和SurfFeatureDetector的类型定义,nonfree.hpp下的一段代码如下

class CV_EXPORTS_W SURF : public Feature2D
{
public:
/**
@param hessianThreshold Threshold for hessian keypoint detector used in SURF.
@param nOctaves Number of pyramid octaves the keypoint detector will use.
@param nOctaveLayers Number of octave layers within each octave.
@param extended Extended descriptor flag (true - use extended 128-element descriptors; false - use
64-element descriptors).
@param upright Up-right or rotated features flag (true - do not compute orientation of features;
false - compute orientation).
*/
CV_WRAP static Ptr create(double hessianThreshold=100,
int nOctaves = 4, int nOctaveLayers = 3,
bool extended = false, bool upright = false);

CV_WRAP virtual void setHessianThreshold(double hessianThreshold) = 0;
CV_WRAP virtual double getHessianThreshold() const = 0;

CV_WRAP virtual void setNOctaves(int nOctaves) = 0;
CV_WRAP virtual int getNOctaves() const = 0;

CV_WRAP virtual void setNOctaveLayers(int nOctaveLayers) = 0;
CV_WRAP virtual int getNOctaveLayers() const = 0;

CV_WRAP virtual void setExtended(bool extended) = 0;
CV_WRAP virtual bool getExtended() const = 0;

CV_WRAP virtual void setUpright(bool upright) = 0;
CV_WRAP virtual bool getUpright() const = 0;

};

typedef SURF SurfFeatureDetector;
typedef SURF SurfDescriptorExtractor;


我已经在VC++包含目录中添加了include, opencv 和 opencv2三个文件夹下的路径。也在连接器中添加了相应的*.lib文件。#include "opencv2/xfeatures2d/nonfree.hpp"时也没有报错,为什么还是提示SurfFeatureDetector是未定义的标识符呢?

解决方案

error C2065: “SurfFeatureDetector”: 未声明的标识符
error C2065: “_lpw”: 未声明的标识符
error C2065: “GUID_NULL”: 未声明的标识符

解决方案二:

你好 , 你的问题得到解决了吗,,我也遇到了

解决方案三:

希望大神指点一下。。。

时间: 2024-11-01 02:37:17

surf-opencv3.0 error C2065: SurfFeatureDetector未定义标识符的相关文章

OPENCV为什么提示cvFitEllipse未定义标识符

问题描述 OPENCV为什么提示cvFitEllipse未定义标识符 cvFitEllipse(PointArray2D32f,count,box); 为什么老是提示cvFitEllipse为未定义标识符 解决方案 是不是环境没有配置好?里面有include 的头文件,另外,代码中是不是声明了using namespace cv? 解决方案二: ,这个就是你头文件没有引用,或者对应模块的lib没有包含在工程编译 解决方案三: 动态链接库没导入,请查证你的动态库 解决方案四: #include "

opencv3.0未定义标识符cvCalcOpticalFlowPyrLK

问题描述 opencv3.0未定义标识符cvCalcOpticalFlowPyrLK 如题,我加入了头文件,包含目录以及库目录都设置好了,可是在vS2013下总是提示未定义标识符cvCalcOpticalFlowPyrLK. 解决方案 附加依赖项有没有加入lib的名字 或者代码里有没有写上#pragma comment

winapi-初学windows程序设计,为什么是未定义标识符啊,需要include头文件么?(vs2015)

问题描述 初学windows程序设计,为什么是未定义标识符啊,需要include头文件么?(vs2015) #include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = L"helloWi

c++-C++成员函数调用时,提示未定义标识符的错误

问题描述 C++成员函数调用时,提示未定义标识符的错误 //A.h class A { public: void fun1(); void fun2() void fun3(); }; //A.cpp #include"A.h" void A::fun1() { fun2();//出现未定义标识符的错误,如果在其他函数中,如fun3()调用就没事 } 求大神解答!实在不知道是什么问题 解决方案 你A.h中的定义 fun2()后面少个分号; 解决方案二: 非静态成员函数不能这么调用 解决

c++定义对象a时提示1.a前缺少“;”2.未定义标识符a,

问题描述 c++定义对象a时提示1.a前缺少":"2.未定义标识符a, cout<<"选择你要添加的车辆序号"< cout cin>>s; switch(s) { case 1: { cout<<"正在添加大客车"<<endl; big_car a; break; } case 2: { cout<<"正在添加小轿车"<<endl; sedan a;

配置-opencv3.0.0生成成功 但是vs2013intellisense报100个错误

问题描述 opencv3.0.0生成成功 但是vs2013intellisense报100个错误 opencv3.0.0生成成功,测试图片运行时也能正常显示,但是vs2013环境下intellisense会提示100个莫名其妙的错误,如果新建新项目同样是会报100个与下列错误一样的错误,同样可以生成成功,也可以运行,到底是什么原因呢?**** 编程环境为win7 64位专业版+opencv3.0.0+visual studio2013 Intellisense100个错误如下所示:**** op

出现未定义与 &amp;amp;#39;double&amp;amp;#39; 类型的输入参数相对应的函数 &amp;amp;#39;Rastrigin&amp;amp;#39;,请问怎样修改

问题描述 出现未定义与 'double' 类型的输入参数相对应的函数 'Rastrigin',请问怎样修改 function DrawRastrigin() % 绘制Rastrigin函数图形 syms x; x = [- 5 : 0.05 : 5 ]; y = sum(x.^2 - 10.*cos(2.*pi.*x) + 10); [X,Y] = meshgrid(x,y); [row,col] = size(X); for l = 1 :col for h = 1 :row z(h,l) =

gcc-链接了相关的库(里面是有这个函数定义的)但还是 “未定义的引用”

问题描述 链接了相关的库(里面是有这个函数定义的)但还是 "未定义的引用" 我最近想用一个数学库,在cygwin环境下,用gcc.gfortran编译器 gcc -O3 -O3 -fexceptions -fPIC -DNPARTITION -DNPARTITION -o cholmod_demo -I../Include -I../../SuiteSparse_config cholmod_demo.c ../Lib/libcholmod.a ../../AMD/Lib/libamd

excel提示用户定义类型未定义怎么办

  对象未定义时将产生此类错误: 一种典型的情况就是在定义对象时未正确创建对象本身而导致在编译时产生"用户定义类型未定义"的错误提示. 对此小编物提供以下通用定义外部对象的方法: Sub 定义并引用外部对象() 'Word后期绑定示例 Dim wdapp As Object Dim wd As Object Dim tb As Object Set wdapp = CreateObject("word.application") '打开一个word运用环境 wdap