opencv2.0在vs2010中的问题,换成opencv2.4.9 vs2010改怎么改依赖库?

[转载]OpenCV-2.2.0-win32-vs2010在VS2010下的安装-ASP.NET-第七城市
[转载]OpenCV-2.2.0-win32-vs2010在VS2010下的安装
关于如何安装opencv2.2于VS2010的说明,但其中一般都用了一般的opencv2.2安装文件,而不是opencv2.2 for vs2010,这就涉及到了库的编译等,比较繁琐。而且其中因为opencv2.2和之前的opencv2.1有所不同,所以加载的文件也有所不同。另外vs有些设置还是有不同,初学者往往会比较迷糊。这里就再叙述下步骤吧:1 安装&vs2010。反正我不是用Microsoft Visual C++ 2010 Express Edition,免费的版本总有限制安装 opencv2.2 for vs2010。这个安装文件中已经有了编译好的库,比较方便。假设安装目录在C:/Opencv2.22 配置Windows环境变量Path将C:/Opencv2.2/bin加入Windows系统环境变量Path中。加入后可能需要注销当前Windows用户(或重启)后重新登陆才生效。3 设置依赖的库和包含目录和库目录& 打开VC++ 2010,创建一个Win32控制台程序opencvhello;------------------------------------选择Solution Explorer里的opencvhello项目,点击鼠标右键,选择Properties,在[链接器 LINKER]的[输入INPUT]中;& 为项目的Debug配置增加依赖的库:opencv_cv220d.lib opencv_cvaux220d.lib opencv_cxcore220d.lib opencv_highgui220d.lib opencv_ml220d.lib(注意,文件名opencv_core220d.lib可能是cv***d.lib等形式,具体应查看D:/Program Files (x86)/OpenCV/vc2010/lib )Mike注:当需要CV AUX中的内容,如使用高斯混合模型时,还需要opencv_video220d.lib& 为项目的Release配置增加依赖的库:opencv_cv220.lib opencv_cvaux220.lib opencv_cxcore220.lib opencv_highgui220.lib opencv_ml220.lib&***********************************************************************************88****************************************************************************************&新建项目HelloOpencv在中&&& 单击打开打开分别在包含目录加入D:/Program Files/OpenCV2.2/includeD:/Program Files/OpenCV2.2/include/opencv在库目录加入D:/Program Files/OpenCV2.2/lib单击应用选择 连接器--&输入在附加依赖项中& 增加所要包含的库就行了opencv_core220d.libopencv_highgui220d.libopencv_video220d.libopencv_ml220d.libopencv_legacy220d.libopencv_imgproc220d.lib&&点击应用&& 确定&下面可以试一下是不是配置成功输入代码:#include "stdafx.h"#include "cv.h"#include &cxcore.h&#include &highgui.h&int _tmain(int argc, _TCHAR* argv[]){&&& &&& IplImage *img = cvLoadImage("funny-pictures.jpg");&&&&&&& cvNamedWindow("Image:",1);&&&&&&& cvShowImage("Image:",img);&&&&&&& cvWaitKey();&&&&&&& cvDestroyWindow("Image:");&&&&&&& cvReleaseImage(&img);&&&&&&& return 0;}&将图片& funny-pictures.jpg& 放在[VS2010默认项目文件夹]/HelloOpenCV/HelloOpenCV 下&运行结果.cn/s/blog_a6b913e30101dvrt.html一、前提
安装Opencv,因该版本的SIFT是基于Opencv的。
下载SIFT源码,见的主页(别告诉我不懂英文不知道下载链接在哪,下那个Windows VC++的版本 sift-latest_win.zip)。 其中有3个是解决方案文件夹:siftFeat、match和dspFeat,siftFeat工程是做SITF特征提取的,一般只会用到这个案例,match是利用SIFT特征做图像匹配的,desFeat没用过不说了。
所有源代码(包括上面3个工程的main)都在文件夹外面,就是那些成对的.h和.c了。&二、测试
1、解压sift源码,发现有如下文件:<img style="border-bottom: 0 border-left: 0 padding-bottom: 0 margin: 0 padding-left: 0 padding-right: 0 max-width: 100%; border-top: 0 border-right: 0 padding-top: 0px" alt="" src="/images//1324.png" title="转&VS2010+Opencv+SIFT以及出现的问题"> 2、可以先试着跑跑siftFeat。
打开siftFeat.sln,配置好Opencv在VS2010中的环境参数,别忘了在link选项中添加
opencv_legacy243d.opencv_imgproc243d.opencv_core243d.opencv_highgui243d.
opencv_video243d.opencv_ml243d.
和相应的路径,采用的opencv2.43版本,路径分别为:C:\opencv\build\C:\opencv\build\include\
lib:C:\opencv\build\x86\vc10\
注意include里面要添加/include/opencv,因为sift源码直接引用了/include/opencv目录下的头文件)。
编译报错:
1&utils.obj : error LNK2001: 无法解析的外部符号 _va_end
1&utils.obj : error LNK2001: 无法解析的外部符号 _va_start
说好了源码里面有些东西是要改的:在utils.c中#include 就OK了。
F5调试运行,成功显示:&&<img style="border-width: 0 border-style: border-color: -moz-use-text- padding: 0 margin: 0 max-width: 100%;" alt="" src="/images//5069.png" title="转&VS2010+Opencv+SIFT以及出现的问题" height="300" width="465">&&&三、在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内。&<img style="border-bottom: 0 border-left: 0 padding-bottom: 0 margin: 0 padding-left: 0 padding-right: 0 max-width: 100%; border-top: 0 border-right: 0 padding-top: 0px" alt="" src="/images//2988.png" title="转&VS2010+Opencv+SIFT以及出现的问题">&2、在VS2010内引入sift源码:在&#8220;资源管理器&#8221;视图里添加&#8220;筛选器&#8221;,命名为sift,将刚才拷贝过来的sift源文件引入其内:&&&<img style="border-bottom: 0 border-left: 0 padding-bottom: 0 margin: 0 padding-left: 0 padding-right: 0 max-width: 100%; border-top: 0 border-right: 0 padding-top: 0px" alt="" src="/images//0384.png" title="转&VS2010+Opencv+SIFT以及出现的问题">&& 3、在需要使用sift方法的地方添加对应头文件:
#include "..\sift\sift.h" #include "..\sift\imgfeatures.h" #include "..\sift\utils.h"
&4、取消.c文件的预编译:同样在&#8220;资源管理器&#8221;视图下面复选sift文件夹内所有.c文件,右键选择&#8220;属性&#8221;,选取&#8220;C/C++&#8221;-&&#8220;预编译头&#8221;,在&#8220;预编译头&#8221;选项中选择&#8220;不使用预编译头&#8221;。&&<img style="border-bottom: 0 border-left: 0 padding-bottom: 0 margin: 0 padding-left: 0 padding-right: 0 max-width: 100%; border-top: 0 border-right: 0 padding-top: 0px" alt="" src="/images//4918.png" title="转&VS2010+Opencv+SIFT以及出现的问题">&&& 5、C语法设定:分别打开imgfeatures.h和sift.h,让所有函数包含在
#ifdef __cplusplus extern "C" { #endif
#ifdef __cplusplus } #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个文件就够了。
上面代码是C语言编程,一边可能会出现问题,应将&#8220;项目--属性--C/C++--预编译头&#8221;设置为&#8220;不使用预编译头&#8221;;
问题就是运行siftFeature工程时 出现两个错误,一是 cvSaveImage 输入参数太少,一是cvEigenVV函数输入参数太少,可以在程序中对应的函数名上点右键,选择转到定义,就能看到,opencv2.0中的函数定义参数个数变多了。可以在程序中,将cvSaveImage( out_img_name, img);改成 cvSaveImage( out_img_name, img,0); 将cvEigenVV( &M, &V, &E, DBL_EPSILON);改成 cvEigenVV( &M, &V, &E, DBL_EPSILON,-1,-1);即可。
如果编译时出现不能打开cvd.lib或xxx.lib的情况,原因是opencv2.0以后的版本的cvd.lib已经改变(例如opencv2.0为 cv200d.lib),这个变化在 opencv安装目录\lib中可以看到。只需在相应的工程-&属性-&连接器-&输入的debug和release中将相应的 xxxd.lib改成xxx200d.lib,在release下是xxx.lib改成xxx200.lib;例如2.4.3版应添加如下:
1.&debug版:opencv_calib3d243d. opencv_contrib243d. opencv_core243d. opencv_features2d243d. opencv_flann243d. opencv_gpu243d. opencv_haartraining_engined. opencv_highgui243d. opencv_imgproc243d. opencv_legacy243d. opencv_ml243d. opencv_nonfree243d. opencv_objdetect243d. opencv_photo243d. opencv_stitching243d. opencv_ts243d. opencv_video243d. opencv_videostab243d.
2.release版 opencv_calib3d243. opencv_contrib243. opencv_core243. opencv_features2d243. opencv_flann243. opencv_gpu243. opencv_haartraining_engine. opencv_highgui243. opencv_imgproc243. opencv_legacy243. opencv_ml243. opencv_nonfree243. opencv_objdetect243. opencv_photo243. opencv_stitching243. opencv_ts243. opencv_video243. opencv_videostab243.lib
&&&1、运行问题运行siftFeature工程时 出现两个错误,一是 cvSaveImage
输入参数太少,一是cvEigenVV函数输入参数太少,可以在程序中对应的函数名上点右键,选择转到定义,就能看到,opencv2.0中的函数定义参 数个数变多了。可以在程序中,将cvSaveImage( out_img_name, img);改成 cvSaveImage( out_img_name, img,0);&&将cvEigenVV( &M, &V, &E, DBL_EPSILON);改成 cvEigenVV( &M, &V, &E, DBL_EPSILON,-1,-1);即可。2、&fatal error LNK1104: 无法打开文件&#8220;libgsl.a&#8221;&Within VisualStudio, go to File-&New-&Project, then "Visual C++ Projects," then "Win32," then "Win32 Console Application." Enter a name and click "OK." On the next screen click "Finish."In the "Solution Explorer," right click on the name of your project and go to "Properties."Under Configuration Properties-&Linker-&General-&Additional Library Directories, type in "C:\GnuWin32\lib"Under Configuration Properties-&Linker-&Input-&Additional Dependencies, type in "libgslcblas.a libgsl.a"Under Configuration Properties-&C/C++-&General-&Additional Include Directories, type in "C:\GnuWin32\include"Under Configuration Properties-&C/C++-&Code Generation-&Runtime Library,select "Multi-threaded DLL" && & 如果编译时出现不能打开cvd.lib或xxx.lib的情况,原因是opencv2.0版本的cvd.lib已经变成了cv200d.lib,这个变化 在&&opencv安装目录\\lib中可以看到。只需在相应的工程-&属性-&连接器-&输入的debug和release中将相应 的xxxd.lib改成xxx200d.lib,在release下是xxx.lib改成xxx200.lib;注意opencv原来有的库文 件,opencv2.0可能不存在或改换了别的名,如cvcam.lib,我目前不知道在opencv2.0中,它在哪里,因此,我就将这一各lib从附 加项中删掉了,没有影响程序运行。目前程序调试成功。首先需要对工程的opencv 以及Opengl各库文件 都要添加正确才行!&&&&&&&&&&&&&&&&
阅读(...) 评论()结合Kinect v2.0+ VS2012+openCV2.4.9,将Kinect v2.0获取得红外数据存到openCV2.4.9中,并输出
(10.69 MB) 源码下载
请输入以上验证码:
Sponsored links
(提交有效评论获得0.1CF币)
评论内容不能少于15个字,不要超出160个字。
Sponsored links
sponsored links:
matlab练习程序(c/c++调用matlab) .
☉ 您最喜欢的 Linux平台 代码编辑器/IDE是哪个?
亲,您的CF币不够了! ^_^|||
快速获得CF币 (支付宝快速到账,网银实时到账) :
个CF币 (下载点数)50.00人民币
个CF币 (下载点数)100.00人民币
个CF币 (下载点数)250.00人民币
个CF币 (下载点数)500.00人民币
免费获得CF币 :
通过您的分享链接,每来访2个IP您将获得0.1CF币。
通过您的分享链接,每注册一个用户,该用户每得1CF币,您将获得0.2CF币分成。
上传您的代码,最多可获得10CF币!
Elapsed:14.025ms 98.48
登录 CodeForge
还没有CodeForge账号?
Switch to the English version?
很抱歉,没有搜索到您要的代码,建议您去留下您的问题哦坛子里面已经有了关于如何安装opencv2.2于VS2010的说明,但其中一般都用了一般的opencv2.2安装文件,而不是opencv2.2 for vs2010,这就涉及到了库的编译等,比较繁琐。而且其中因为opencv2.2和之前的opencv2.1有所不同,所以加载的文件也有所不同。另外vs有些设置还是有不同,初学者往往会比较迷糊。这里就再叙述下步骤吧:
1 安装 vs2010。反正我不是用Microsoft Visual C++ 2010 Express Edition,免费的版本总有限制
安装 opencv2.2 for vs2010。这个安装文件中已经有了编译好的库,比较方便。假设安装目录在C:\Opencv2.2
2 配置Windows环境变量Path
将C:\Opencv2.2\bin加入Windows系统环境变量Path中。加入后可能需要注销当前Windows用户(或重启)后重新登陆才生效。
3 设置依赖的库和包含目录和库目录
& 打开VC++ 2010,创建一个Win32控制台程序opencvhello;
------------------------------------
选择Solution Explorer里的opencvhello项目,点击鼠标右键,选择Properties,在[链接器 LINKER]的[输入INPUT]中;
& 为项目的Debug配置增加依赖的库:opencv_cv220d.lib opencv_cvaux220d.lib opencv_cxcore220d.lib opencv_highgui220d.lib opencv_ml220d.lib(注意,文件名opencv_core220d.lib可能是cv***d.lib等形式,具体应查看D:\Program Files (x86)\OpenCV\vc2010\lib )
Mike注:当需要CV AUX中的内容,如使用高斯混合模型时,还需要opencv_video220d.lib
& 为项目的Release配置增加依赖的库:opencv_cv220.lib opencv_cvaux220.lib opencv_cxcore220.lib opencv_highgui220.lib opencv_ml220.lib
---------------------------------------
设置包含目录和库目录:
选择Solution Explorer里的opencvhello项目,点击鼠标右键,选择&配置属性&-&&VC++ 目录&
&包含目录&加入& [OpenCV安装路径]\include&、&[OpenCV安装路径]\include\opencv&这两个路径到Include Directory里面(目的是为了兼容2.1及其以前版本的引用头文件格式);&&&
阅读(...) 评论()VC Directory设置的位置和以前的版本不一样。VS2010之前,VC Directory的设置都是在IDE的Tools-&Options中设置的;VS2010改为,分别在每个项目中的Properties中设置。如下图:难道要每个项目都设置一遍常用的Include吗?答案是,不用。&在IDE中,打开View-&Other Windows-&Property Manager。展开树形后,你会发现一个名为&Microsoft.Cpp.Win32.user&的项目(如下图)。&&右击并点击&Properties&后,你会看到一个和VC Project properties类似的属性设置框。&现在,你应该知道答案了吧。对,就是这里。只要将常用的Include都放入这里就可以达到你要的效果。&P.S.&&&&&& 在刚装好VS2010时,发现新建的项目都包含了机器上的STLport 5.1.2。找了一圈目录和文件,重装了好几次还是一样。后来才发现,原来VS2010不知道什么时候,将STLport的目录加到Microsoft.Cpp.Win32.user里了。修改后,重新打开项目就不再有STLport出现。
VS2010 设置include路径(转) - 学习一下-记录一下 - C++博客VS2010 设置include路径(转) Posted on
17:21 小火球 阅读(1350) 评论(0) 编辑 收藏 引用 所属分类: Other VC Directory设置的位置和以前的...vs2010 配置包含路径和库路径 - CSDN论坛 - CSDN28条回复&-&发帖时间:&日VS2010 安装 Opencv-2.3.1 - Mooner的日志 - 易博客 D:\OpenCV\OpenCV for VS2010\build\include\ D:\OpenCV\OpenCV for VS2010\build\include\opencv2; (这个一般不用加) (2)配置lib路径...【OpenCV学习笔记2】OpenCV 完全安装 新增VS2010+OpenCV2.1,新增...1 下载安装VS2010、OpenCV2.3.1,并解压缩OpenCV2.3.1,本处为D:\Program Files\OpenCV2.3.1 2 配置VS2010 配置include路径:包含 D:\Program Files\OpenCV...OPENCV2.3.1在VS2010(C-MAKE2.8.7)上的配置 - 豆丁五、配置VS 配置include 路径 在VS2010:新建一个win32 控制台应用程序项目(下面有图具体介绍怎么建立新项目) (每新建一个项目都需要进行以下的配置才能编译Opencv ...vs2010与opencv怎么配置?_百度知道1个回答 -提问时间:日Arthas_bbvs2010配置的时候需要逐个项目配置,不能像vs2008那样统一配置。假设opencv安装路径为D:\Program Files,系统为32位...VS2010配置OpenGL时gl文件夹的存放位置_仲夏在很多介绍VS2010配置OpenGL的文章中,都会推荐下载glut工具,并指明将加压出来的... 例如:D:\Program Files\Microsoft Visual Studio 10.0\VC\include\gl 但事实...VS2010下安装OpenCV2.3.1_在北极吃冰条图文本文在参考了 VC 2008 Express下安装OpenCV2.3.1 之后针对VS2010稍作修改后...配置首先新建一个空的控制台项目供OpenVC使用配置include路径:在项目上右键,属性...VS2010使用问题集合|开发技术 - 美国主机支持论坛12条回复&-&发帖时间:&日VS2010配置DirectX开发环境的方法_苛薇_新浪博客VS2010配置DirectX开发环境的方法 一个DirectX程序要想正确的编译和链接,需要完成下面三个步骤: 一 安装DirectX SDK 二 正确配置Include目录和Library目录 三 正确...Opencv,Javacv,Vs2010的配置 | 勇敢的程序猿 第二步:测试Opencv是否成功配置,在VS2010下检测,没有配置的可以看下我的配置... 1、包含目录:选择vc++目录,在包含目录中加入如下路径:c:opencvbuildinclude...vs2010目录设置怎么一次性设置好呢 - C++我现在vs 2010 属性,vc++目录 可执行文件目录,包含目录等都不对,库目录没有...VC++ Directorier-&Include Directoriers在这里设置你的头文件以及库的包含路径,...OpenCV 2.1+VS2010+Win7 配置图文的INCLUDE文件夹路径(注意是INCLUDE,不是INCLUDE里面的子文件夹)定位到该配置属性...这里由于是配置VS2010,所以我们选择VC10文件夹,ia32子文件夹是32位系统,此处应...CodeBlocks在win7+Vs2010环境下的配置 - bluesky4485 - 博客园图文 所以一般设置的路径和设置系统头文件的路径是一致的,比如:& C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include &.说句题外话,著名按钮ID比如IDOK...怎么在vs2005上设置Additional include directories的相对路径 - ...如何在vs2005上设置Additional include directories的相对路径?我的工程目录在D盘的一个文件夹下,但是当我在Additional include directories下面输入..\时,下拉框里出来...vs2010设置boost开发环境 - qiang.xu - 博客园这里将试着在windows下编译boost,同时设置vs2010的开发环境,使用vs来作为开发的... #include &boost/regex.hpp& #include &iostream& #include &string& int ...如何把路径加到VS2010的VC++目录里面 - 我的异常 VS2010下每次编译项目都要VC++目录下手动添加include和lib文件,怎么不能默认就设置好呢?我是在项目,属性,VC++目录下设置的.求教,感谢.解决方案上面那个 打...OpenCV2.3在CMake2.8.5+VS2010+WinXP环境下的配置(STEP_by_STEP) ...Word文档(共10页)&-&下载需840积分的子文件夹)定位到该配置属性的路径里,这里应配置路径为:G:TBB3.0include。... 道...vs2010 怎么添加头文件_c++吧_百度贴吧27条回复&-&发帖时间:&日OPENCV2.2与VS2010配置 - 孤独的猫 - 博客园3.在VS2010下新建一个visual c++的空项目,在项目的属性设置中,设置vc++目录的包含目录加入D:\OpenCV2.2\include和D:\OpenCV2.2\include\库目录加入D:...vs2010的include指令无法使用_百度知道1个回答&-&提问时间:&日先添加引用试试&-&vs2010+OpenCV2.3.1搭建 - 小龙王2010 - 博客频道 - CSDN首先是需要安装两个东西,一:OpenCV2.3.1二:Visual Studio 2010 安装时,我选择 OpenCV 2.3.1 的安装路径为:C:\opencv首先打开安装好的vs2010新建项目: 点击...[C++]在Visual Studio 2010中使用Google Test - 配置 - 斯啦丝拉 ...图文 ../ - 即D:\Selah\VSProjects\Source\gtest-1.6.0,我把它设置为$(GTest),这样就不用每次写一长串路径了。include - 包含目录,里边有头文件,测试时要...VS2010环境下Winpcap配置方法 - caodesheng110的专栏 - 博客频道 ...VS2010 配置Winpcap新建一个项目,GetDevs.cpp。用来测试。测试代码最后有给出。...中添加路径。 假如将wpdpack放到c盘。则:Include Directories:c:\wpdpack\...VS2010下配置GTK说明 - 软件工程 - 道客巴巴Word文档(共6页)&-&下载需840积分‐mms‐itfields ‐ID:/GTK/include/gtk‐2.0 ‐ID:/GTK/lib/gtk‐2.0/... 精心...Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本的开发环境(亲测) -... 注:本人ide版本是vs2010,安装目录也是默认安装c盘, 直接复路径即可。 (1)...龙山人教我们在VS2010中配置Cocos2d-x-0.9.1那样,自己手动导入lib库和include...VS2010中配置CUDA5.0 - 随风秀舞(diyoosjtu) - 博客频道 - CSDN下拉框中选择Other include files, 然后在下面的输入框里,新建、添加如下路径,... VS2010中配置CUDA5.0 diyoosjtu: @liufengyaya:请看10楼的回复。 ...vs2010下配置OpenCV - 开发文档 - 道客巴巴Word文档(共9页)&-&下载需98积分vs2010下配置OpenCV: 以下配置方法仅属于个人见解;若有什么不对的地方请指教啊。 ...OGRE 1.8.1 with vs2010配置~_剑之freestyle←街头剑客? - -|_...OGRE 1.8.1 with vs2010配置~首先,打开cmd,设置一个路径 setx OGRE_HOME &... $(OGRE_HOME)\include $(OGRE_HOME)\include\OIS $(OGRE_HOME)\include\...VS2010下配置OpenCV2.2 - 豆丁 在vs2010 下配置opencv2.2 如果提示下边错误 { “cv”: 具有该名称的命名...路径]\include”、“[OpenCV 安装路径]\include\opencv”这两个路径到Include ...windows7 VS2010 OpenCV2.2.0 TBB CMake 2.8.4编译配置成功_心...图文 下载那个OpenCV2.2.0 vs2010那个应该可以直接用不需要编译了。 CMAKE 2.8....的INCLUDE文件夹路径(注意是INCLUDE,不是INCLUDE里面的子文件夹)定位到该配置属性...

我要回帖

更多关于 vs2010改变背景 的文章

 

随机推荐