在win7(32bit和64bit) visual studio 2010(vs2010)下安装opencv2.3
2012-08-21 16:37
531 查看
作者:pianpianboy
出处:翩翩男孩blog
前言:由于最近导师的项目,有用到opencv的库,在网上收集了一些资料(包括opencv中文网),网上的那些东西要么不全,要么写的粗枝大叶,或者甚至有错误,就一个版本的opencv竟然有五六种安装方法,太乱太杂,因此本人结合自己最近几天的安装和遇到的问题,在此与大家分享;本人电脑安装win7 64bit的系统,而网上都是32bit的安装方法,其实32bit和64bit的区别就在于运行cmake和用vs编译程序的时候有区别,区别如图:
上图是安装完cmake让后运行cmake的一张图,如果安装64bit就直接在下拉框里选择visual studio 10 win64
在安装完opencv的库之后,编译程序时候需要将图片上部分框中 Win32 更改为下图的X64
本人在安装opencv的库的时候还遇到了写错误,如安装opencv的库之后,运行验证程序 出现
1>LINK : fatal error LNK1104: cannot open file 'opencv_core230.lib'错误
后面经过一天的查找和思考,发现我下载的opencv是2.3.1版本的而我在opencv配置的时候增加的库是opencv2.3.0(不同版本的opencv生成的库是不一样的,比如opencv2.3.0生成的库opencv_*230d.dll文件(fordebug)和opencv_*230.dll文件(forrelease)将出现在D:\CX\opencv\bin目录中;OpenCV的opencv_*230d.lib文件(fordebug)和opencv_*230.lib文件(forrelease)将出现在D:\CX\opencv\lib
目录
正文:
安装大概需要四步:
第一步:下载安装Cmake第二步:用cmake配置opencv2.3.0(也可安装opencv
2.31,只需更改安装后的连接库名),然后编译,安装
第三步: 在vs2010中配置opencv2.3.0(也可安装opencv
2.31,只需更改安装后的连接库名)
第四步:验证是否安装成功
1 安装所需要的软件
1.1 下载OpenCV从http://www.opencv.org.cn/index.php/Download下载OpenCV
1.2安装CMake
从 http://www.cmake.org/cmake/resources/software.html下载 Windows(Win32 Installer) 安装。
2 用CMake导出VC++项目文件
步骤1:在CMAKE的界面中输入源码路径(Whereis the source code)和目标路径(where to build the binaries)。是刚下载的opencv源代码所在的文件夹(D:\CX\opencv)
是cmake配置好的文件放在那里。D:\
opencv
步骤2:点击【Configure】按钮,在弹出对话框中选择编译软件,如Visual sudio 10。
步骤3:点击下图中的【Generate】,开始编译
步骤4:Cmake编译结束界面,(再次点击【Configure】,红色消失)
点击 Generate,可以把cmake关掉了。
3 编译 OpenCV Debug和Release版本库
完成上一步骤后,将在C:\OpenCV230_Vs2010目录下生成OpenCV.sln的VC Solution File,用VC++ 2010打开OpenCV.sln,然后执行如下操作:步骤1:在Debug下,选择SolutionExplorer里的 SolutionOpenCV,点右键,运行"RebuildSolution";
步骤2:如编译无错误,再选择INSTALL项目,运行"Build"。
步骤3:在Release下,选择Solution Explorer里的 Solution OpenCV,点右键,运行"Rebuild Solution";如编译无错误,再选择INSTALL项目,运行"Build"。
此时,OpenCV的opencv_*d.dll文件(for debug)和opencv_*.dll文件(for release)将出现在C:\OpenCV230_Vs2010\bin目录中;OpenCV的opencv_*d.lib文件(for debug)和opencv_*.lib文件(for release)将出现在C:\OpenCV230_Vs2010\lib目录;头文件*.h出现在C:\OpenCV230_Vs2010\include\opencv中。
到此,可以被VC++ 2010调用的OpenCV动态库生成完毕。
4 设置Windows环境变量(重点)
用户工程运行时,需要调用OpenCV动态链接库,因而需要添加Windos动态链接库路径。
步骤1:
步骤2:
步骤3:
1)添加变量名为“path”,变量值为 “(D:\CX\opencv\bin\Release; D:\CX\opencv\bin\Debug;D:\opencv\build\x86\vc10\bin)”的用户环境变量。如果“path”已经存在,选择编辑,在原变量值后添加,以分号“;”隔离路径名。
2)通常需要重启后,才生效。
5 OpenCV的vs2010环境配置
步骤1 打开任意一个VC++项目。切换到VS2010左下角的标签,选择属性管理器(从菜单【视图】->属性管理器);如图:
步骤2 双击任意“Debug |Win32”,在弹出的属性页中设置VC++ Directories(VC++目录)。该设置方法对所有VC++项目都有效。
需要修改包含Include Directories(include目录)、libraryDirectories (library库目录) 到用CMake导出VC++项目文件的相关目录。本例中即以下4个:
将:
D:\opencv\include
D:\CX\opencv\install\include
D:\CX\opencv\install\include\opencv
加到Include Directories。
将:
D:\CX\opencv\lib\Debug
D:\CX\opencv\install\lib
D:\opencv\build\x86\vc10\lib
加到library Directories
如图:
注意必须将opencv安装目录下得lib添加进去:..\opencv2.3\opencv\build\x86\vc10\lib
可执行文件目录executable files(C:\OpenCV230_Vs2010\bin)添加到Windows环境变量中,在此不需要添加。
步骤3 添加lib库文件:
1. 在双击左上角“Debug|Win32”后的弹出框Debug property Pages中更改Common Properties(项目属性)>>Linker(链接器)>>input(输入)>>Additional Dependencies(附加依赖库)里加上
opencv_core230d.lib (如果是opencv2.3.1则增加 opencv_core231d.lib)
opencv_highgui230d.lib (如果是opencv2.3.1则增加opencv_highgui231d.lib)
opencv_video230d.lib (如果是opencv2.3.1则增加 opencv_video231d.lib)
opencv_ml230d.lib (如果是opencv2.3.1则增加opencv_ml231d.lib )
opencv_legacy230d.lib (如果是opencv2.3.1则增加opencv_legacy231d.lib)
opencv_imgproc230d.lib (如果是opencv2.3.1则增加opencv_imgproc231d.lib)
2.在双击左上角“Release|Win32”后的弹出框Debug property Pages中更改Common Properties(项目属性)>>Linker(链接器)>>input(输入)>>Additional Dependencies(附加依赖库)里加上
opencv_core230.lib (如果是opencv2.3.1则增加opencv_core231.lib )
opencv_highgui230.lib (如果是opencv2.3.1则增加opencv_highgui231.lib )
opencv_video230.lib (如果是opencv2.3.1则增加opencv_video231.lib)
opencv_ml230.lib (如果是opencv2.3.1则增加opencv_ml231.lib)
opencv_legacy230.lib (如果是opencv2.3.1则增加opencv_legacy231.lib)
opencv_imgproc230.lib (如果是opencv2.3.1则增加opencv_imgproc231.lib)
6 验证OpenCV是否设置成功
经典代码1:(显示一张图片)#include
"stdafx.h"
#include
"highgui.h"
//using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{ const
char* imagename = "D:/lady.jpg";
cv::Matimg = cv::imread(imagename);
if(img.empty())
{ fprintf(stderr, "Can not load image%s\n", imagename);
return-1;
}
if(!img.data )
// 检测数据有效
return-1;
cv::namedWindow("image", CV_WINDOW_AUTOSIZE);//创建窗口
cv::imshow("image",img);//显示图像
cv::waitKey();
return 0;
}
经典代码2:(调用摄像头)
#include "stdafx.h"
#include <highgui.h>
int _tmain(int argc, _TCHAR* argv[])
{
int c;
// allocate memory for an image
IplImage *img;
// capture from video device #1
CvCapture* capture =cvCaptureFromCAM(1);
// create a window to displaythe images
cvNamedWindow("mainWin",CV_WINDOW_AUTOSIZE);
// position the window
cvMoveWindow("mainWin",5, 5);
while(1)
{
// retrieve the capturedframe
img=cvQueryFrame(capture);
// show the image in thewindow
cvShowImage("mainWin",img );
// wait 10 ms for a key tobe pressed
c=cvWaitKey(10);
// escape key terminatesprogram
if(c == 27)
break;
}
return 0;
}
相关文章推荐
- Win7 64位系统安装OpenCV2.3,并在VS2010中配置(上)
- Win7下安装配置OpenCV2.3+Visual Studio 2008
- Win7下安装配置OpenCV2.3+Visual Studio 2008
- Win7 64位 安装配置 OpenCV 2.3 及 MS Visual Studio 2010 Pro/Ultiman
- Win7 64位系统安装OpenCV2.3,并在VS2010中配置(下)
- Windows 7 32/64bit和Visual Studio 2010下安装及使用Boost
- Windows 7 64bit和Visual Studio 2010下安装及使用OpenCV 2.0
- Win7 64位系统安装OpenCV2.3,并在VS2010中配置(下)
- Visual Studio 2010旗舰版(vs2010中文旗舰版下载)安装方法
- vs2010正式版安装图解 visual studio 2010安装过程
- win7,vs2010,opencv2.3,运行程序,报错“计算机丢失tbb_debug.dll”
- SQLite安装及在Visual studio 2010(VS2010)中的使用
- easybsd 安装 win7 64bit 和ubuntu12.04 amd 64 bit 双系统
- Windows 7 64bit和Visual Studio 2010下安装及使用Pthread-w32 2.8
- 解决Win7 64bit + VS2010 使用opencv时出现提“应用程序无法正常启动(0xc000007b)”错误
- [备忘]Win7 64位安装VS2010出现错误failed for component Microsoft Visual Studio 2010 64bit Prerequisites (x64)解决办法
- VS2010 + OpenCV2.3配置 ; 在VS2010下安装配置OpenCV2.3 ; 全程截图,绝对能配置好,不能的留言!
- Visual Studio 2010下OpenCv 安装与配置
- VS2010 + OpenCV2.3配置 ; 在VS2010下安装配置OpenCV2.3
- Win7 64bit+OpenCV2.4.11+VS2010配置环境