VC 2010下安装OpenCV2.3.1以及遇到的问题和解决方案

说明:

  1. 安装平台:32位win7,VS2010;
  2. 网上有很多用CMake编译OpenCV的安装教程,这里建议先不要自己编译,如果使用预编译好的库有问题,再尝试自己编译。
  3. 希望大家好好看看每一部分的注意事项,看懂了再去配置,不然错了,还不知道错在哪里。尤其要注意自己的操作系统的位数,还有相应的路径。

目录

  [隐藏]

一、下载OpenCV

从本站下载栏目 http://www.opencv.org.cn/index.php/Download 下载 OpenCV for Windows(也即 OpenCV-2.3.1.exe 文件)

将 OpenCV-2.3.1.exe 解压并放到某个目录下,例如 C:\Program Files\OpenCV231 (本人的解压目录)。解压后的目录结构如下图。

Image:001.jpg

二、设置环境变量

右键单击我的电脑→属性→高级→环境变量。



用户变量设置

设置PATH
选中PATH,单击编辑。在PATH的末尾添加以下路径: C:\Program Files\OpenCV231\opencv\build\x86\vc10\bin
     注意:1、要在该路径前添加英文分号;,以与前面的路径隔开,但该路径末尾不可加英文分号;,除非还要在其后添加路径;
           2、可根据自己的情况,将其改为你的opencv\build\x86\vc10\bin文件夹所在的路径;
           3、如果是64位系统,可将opencv\build\x86\vc10\bin改为opencv\build\x64\vc10\bin
新建OpenCV变量
单击新建,在弹出的对话框中,将变量名和变量值分别设置为OpenCV和C:\Program Files\OpenCV231\opencv\build
     注意:1、变量名可以自己定义;
           2、变量值可修改为你的opencv\build文件夹所在的路径。
系统变量设置
设置PATH
选中PATH,单击编辑。在PATH的末尾添加以下路径: C:\Program Files\OpenCV231\opencv\build\x86\vc10\bin
     注意:1、要在该路径前添加英文分号;,以与前面的路径隔开,但该路径末尾不可加英文分号;,除非还要在其后添加路径;
           2、可根据自己的情况,将其改为你的opencv\build\x86\vc10\bin文件夹所在的路径;
           3、如果是64位系统,可将opencv\build\x86\vc10\bin改为opencv\build\x64\vc10\bin。
说明:设置完环境变量,需要重启电脑,才能生效。

三、配置VS2010

配置VS2010,亦即告诉VC去什么地方寻找OpenCV的头文件和库。打开VS2010,选择菜单“工具”→“选项”→“项目和解决方案”→“VC++目录”,在VS2010中打开此选项,显示编辑功能被否决。

可以在具体的项目中,对特定的项目单击右键→属性来设置,只是这样的设置无法被继承,每一个项目都需要单独设置,太过繁琐,因此需要一个能够被继承的全局设置,方法如下:
要求:确保VS2010中至少有一个工程被打开。这里采用新建一个工程的办法,以便后面测试程序。

准备工作

1、打开VS2010,新建项目→win32控制台项目→完成。

2、点击“视图”→“其他窗口”→“属性管理器”,结果如下图所示。

配置VC10

1、从左侧项目中打开“Debug| Win32”→“Microsoft.Cpp.Win32.user”。

2、双击“Microsoft.Cpp.Win32.user”,弹出如下图所示的窗口。
3、点击左侧VC++目录,编辑右侧的可执行文件目录、包含目录与库目录,分别添加对应的路径。
对应的路径如下:
1)可执行文件目录
C:\Program Files\OpenCV231\opencv\build\x86\vc10\bin
    说明:1、可根据自己的情况,将其改为你的opencv\build\x86\vc10\bin文件夹所在的路径;
          2、如果是64位系统,可将opencv\build\x86\vc10\bin改为opencv\build\x64\vc10\bin。
2)包含目录
C:\Program Files\OpenCV231\opencv\build\include
C:\Program Files\OpenCV231\opencv\build\include\opencv
C:\Program Files\OpenCV231\opencv\build\include\opencv2
    说明:1、可根据自己的情况,将其分别改为你的opencv\build\include、opencv\build\include\opencv和opencv\build\include\opencv2文件夹所在的路径;
          2、这里的include目录为build文件夹下的include目录,不要选成与build文件夹在同一个根目录下的那个include文件夹。
3)库目录
C:\Program Files\OpenCV231\opencv\build\x86\vc10\lib
    说明:1、可根据自己的情况,将其改为你的opencv\build\x86\vc10\lib文件夹所在的路径;
          2、如果是64位系统,可将opencv\build\x86\vc10\lib改为opencv\build\x64\vc10\lib。
4、附加依赖项
单击“链接器”→“输入”→“附加依赖项”,如下图所示。
如下图所示,在附加依赖项里,添加 opencv\build\x86\vc10\lib文件夹里的lib文件名称:

opencv_calib3d231d.lib

opencv_contrib231d.lib

opencv_core231d.lib

opencv_features2d231d.lib

opencv_flann231d.lib

opencv_gpu231d.lib

opencv_highgui231d.lib

opencv_imgproc231d.lib

opencv_legacy231d.lib

opencv_ml231d.lib

opencv_objdetect231d.lib

opencv_ts231d.lib

opencv_video231d.lib

 

opencv_calib3d231.lib

opencv_contrib231.lib

opencv_core231.lib

opencv_features2d231.lib

opencv_flann231.lib

opencv_gpu231.lib

opencv_highgui231.lib

opencv_imgproc231.lib

opencv_legacy231.lib

opencv_ml231.lib

opencv_objdetect231.lib

opencv_ts231.lib

opencv_video231.lib 
 说明:上面的库为opencv\build\x86\vc10\lib里面的库文件,文件名后面有小写字母“d”的为Debug库(调试模式库),没有“d”的为Release库(发布模式库)。末尾的231
是版本号,和你lib里面的文件一致的。比如,OpenCV2.4.3的lib文件的末尾数字为243。如果版本不一样,要改正,使其一致。 


四、测试程序

4.1、程序代码

#include <opencv2\opencv.hpp>  
#include<iostream>
using namespace cv;
void main()
{
	IplImage *src;
	src = cvLoadImage("lena.jpg"); //这里将lena.jpg和lena.cpp文件放在同一个文件夹下
	cvNamedWindow("lena",CV_WINDOW_AUTOSIZE);
	cvShowImage("lena",src);
	cvWaitKey(0);
	cvDestroyWindow("lena");
	cvReleaseImage(&src);
}


4.2、运行结果

4.2.1、Debug下的运行结果

4.2.2、Release下的运行结果



遇到的问题

在win7,vs2010,opencv2.3.1的配置下,出现“计算机丢失tbb_debug.dll,请重新安装”的错误,我解决这个问题的步骤是:

1,下载http://www.threadingbuildingblocks.org/ ... ss_win.zip的文件并解压。

2,在解压的文件中进入...\bin\ia32\vc10文件夹找到tbb_debug.dll文件。
3,将上面找到的tbb_debud.dll文件复制到你opencv安装的...\opencv\build\common\tbb\ia32\vc10文件夹中,然后重新编译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值