如何正确配置VS2010环境以使用opencv2.4.9版本

教程大全 2026-01-17 23:56:28 浏览

Q2: 如何在项目中添加自定义的Opencv模块? 您需要将自定义模块的源代码添加到项目中,并在项目属性中配置相应的包含目录和库目录,确保您的模块依赖于已经配置好的OpenCV库。


如何本地安装SIFT

SIFT的实现有很多版本,具体方式都是那么几个,找个好用的不太容易,因为对于代码不熟练者各种版本用起来都有点水土不服,需要调整调整才行。 本人是在VS2010下使用的Rob Hess的源码。

一、前提

安装Opencv,详见:VS2010+Opencv-2.4.0的配置攻略(该版本SIFT是基于Opencv的)。

下载SIFT源码,见Rob Hess的主页(别告诉我不懂英文不知道下载链接在哪,下那个Windows VC++的版本 sift-latest_)。

二、测试

1、解压sift源码,发现有如下文件:

其中有3个是解决方案文件夹:siftFeat、match和dspFeat,siftFeat工程是做SITF特征提取的,一般只会用到这个案例,match是利用SIFT特征做图像匹配的,desFeat没用过不说了。

所有源代码(包括上面3个工程的main)都在文件夹外面,就是那些成对的.h和.c了。

2、可以先试着跑跑siftFeat。

打开,配置好Opencv在VS2010中的环境参数(VS2010+Opencv-2.4.0的配置攻略中有述,注意include里面要添加/include/opencv,因为sift源码直接引用了/include/opencv目录下的头文件)。

编译报错:1> : error LNK2001: 无法解析的外部符号 _va_end1> : error LNK2001: 无法解析的外部符号 _va_start

说好了源码里面有些东西是要改的:在utils.c中#include 就OK了。

F5调试运行,成功显示:

三、在C++工程中应用SIFT

1、在VS2010中新建自己的C++工程PP。 在工程根目录内添加目录命名为sift,将sift源码文件imgfeatures.c imgfeatures.h kdtree.c kdtree.h minpq.c minpq.h sift.c sift.h utils.c utils.h xform.c xform.h(即除了match.c siftfeat.c dspfeat.c的所有源码文件)复制到\PP\sift内。

2、在VS2010内引入sift源码:在“资源管理器”视图里添加“筛选器”,命名为sift,将刚才拷贝过来的sift源文件引入其内:

3、在需要使用sift方法的地方添加对应头文件:

#include..\sift\sift.h#include..\sift\imgfeatures.h#include..\sift\utils.h

4、取消.c文件的预编译:同样在“资源管理器”视图下面复选sift文件夹内所有.c文件,右键选择“属性”,选取“C/C++”->“预编译头”,在“预编译头”选项中选择“不使用预编译头”。

5、C语法设定:分别打开imgfeatures.h和sift.h,让所有函数包含在

#ifdef __cplusplusexternC{#endif

#ifdef __cplusplus }#endif

之间。例如:

... #ifdef __cplusplusexternC{#_features( IplImage* img,structfeature**feat ); _sift_features( IplImage* img,structfeature** feat,intintvls,doublesigma,doublecontr_thr,intcurv_thr,intimg_dbl,intdescr_width,intdescr_hist_bins ); #ifdef __cplusplus }#endif#endif

PS:我只是用了_sift_features(...)等几个函数,所以只加了两个头文件的C语法声明,如果是用了其他的头文件,均需要添加。

6、综上,你应该可以直接使用sift相关函数了,参照siftfeat.c中的写法,用用_sift_features(...)试试!实际上如果只需要使用SIFT特征提取的函数,前面几步只需要复制imgfeatures.c imgfeatures.h sift.c sift.h utils.c utils.h这6个文件就够了

怎样在PC上打开OpenCV ?

一、PC上安装Opencv

1、安装环境是:Ubuntu13.10(内核是3.3的),Opencv-2.4.3

由于在计算机上安装,所以很简单,只需要将集成的库先利用apt-get来安装,到最后安装Opencv的时候能够找到ffmpeg或其它库的依赖库就好了。列举需要安装的库:

最后一个命令安装了很多库,但是有可能输入进去会报错,这也是依赖库的问题。 解决方法就是一个一个的安装,这样每个库安装都会检测依赖关系,要么修复要么下载依赖库就不会出现依赖的问题了。

2、下面就是Opencv的压缩包进行解压

解压到了/opt/zedboard/opencv_pc/下,当然也可以根据需要自定义,因为这是一个编译的目录,最终都是要安装到/usr/local下的

3、安装

解压之后进入到OpenCV-2.4.3的文件夹,创建一个build文件夹,在build文件夹下执行:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTAll_PREFIX=/usr/local ../

因为不是交叉编译,所以不用设置编译器,后面的PREFIX是在设置安装目录,一定不能把最后的“ ../”给省略了!然后利用安装的cmake-gui命令,在图形界面下对Opencv进行配置。

此时会弹出一个图形界面,选择路径,一个是Opecv-2.4.3,一个是下面的Build,上面需要修改的只是最后面的WITH_XXX,根据安装的库,选择如下图所示:

选择完后,点击Configure,之后会报出一些消息,尽管会提示有一些文件找不到,但是不用管它,再点击Generate,然后关闭对话框。最后输入:

make install

注意,在make的时候需要很久,但是一定要关注是否100%的编译通过了,有些时候在等待的时候就去做别的事情的,回来的时候没有看有没有报错,直接就make install。 实际上,如果中间编译出错,那么只安装了部分的库,而且还不能用。 正确编译的最后几行代码应该如下图所示:

如何在vs2010下配置opencv

OpenCV2.4.9与VS2010兼容性设置

随笔- 17文章- 1评论- 101 VS2010+Opencv-2.4.0的配置攻略摘要:在VS2010环境中应用Opencv,网上找到了很多配置方法,但大多都是老版本的,很多新手面对最新版本的Opencv无从下手,就给新手童鞋写了这么一篇超级详细的配置攻略,贴上来共享。 要强调一点的就是,这种配置方法里使用的Opencv库是直接安装Opencv时候自带的DLL库,在你的VS里面是无法调试Opencv的。 如果需要调试Opencv,必须应用自己编译出来的Opencv库,具体怎么编译自己的Opencv库,网上有很多例子,再此不再赘述。 1、下载软件下载OpenCV-2.4.0,双击解压到%opencv%(凡是出现%opencv%的地方均替换为你自己opencv的路径全名,如D:\program\opencv)。 下载VS2010,安装。 2、配置OpenCV环境变量计算机->(右键)属性->高级系统设置->高级(标签)->环境变量->(双击)path(用户,系统里面的path任选其一)->在变量值里面添加” %opencv%\build\x86\vc10\bin”和”%opencv%\build\common\tbb\ia32\vc10”(里面的%opencv%记得换成自己的opencv路径。 例如我的:D:\program\ifly\bin;D:\Program Files (x86)\opencv\build\x86\vc10\bin;D:\Program Files (x86)\opencv\build\common\tbb\ia32\vc10)。 3、配置工程的opencv依赖(每次新建工程都要重新配置,要执行此步骤请先跳到第4步建立工程)1)、项目(菜单项)->…属性->VC++目录:需要配置“包含目录”和“库目录”两项。 2)、配置“包含目录”项:添加行”%opencv%\build\include”即可。 但在运行别人的opencv项目时,可能别人直接引用了上述目录的子目录路径,如果出现include错误,则再添加”%opencv%\build\include\opencv”和(或)”%opencv%\build\include\opencv2”,即可解决问题。 3)、配置“库目录”项:添加行”%opencv%\build\x86\vc10\lib”即可。 4)、配置连接器:项目(菜单项)->…属性->连接器->输入->附加依赖项针对debug配置添加以下库:opencv_____________如果是release配置(以后再说,只需要添加上面的debug配置就行了现在),则添加:opencv_____________4、用VS2010新建控制台工程测试:1)、文件->新建->项目->Visual C++->Win32 控制台应用程序(输入名称test)2)、确定->下一步->附加选项选“空项目”->完成3)、解决方案资源管理器->源文件(右键)->添加->新建项4)、Visual C++->C++文件:输入名称test点添加5)、粘贴下面的代码,保存复制代码 1 #include 2 #include 3 #include 4 using Namespace cv; 5 using namespace std; 6 int main() 7 { 8 Mat img = imread(); 9 if(())10 {11 cout<

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐