VC 2008 Express下安装OpenCV2.3.1

来源:互联网 发布:ar涂涂乐下载软件 编辑:程序博客网 时间:2024/05/22 03:06

http://wiki.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.3.1

注意:

  1. 下列文档以VC2008 Express为例,VC2010下的配置应与本文档类似。
  2. VC 6.0不被OpenCV 2.3.1支持。
  3. VC Express是微软提供的免费版,可从此处下载: http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express
  4. 建议先不要自己编译,如果使用预编译好的库有问题,再尝试自己编译。

目录

[隐藏]
  • 1安装所需要的软件
    • 1.1下载OpenCV
    • 1.2安装CMake(不打算自己编译无需安装)
  • 2编译OpenCV(非必需步骤)
    • 2.1用CMake导出VC++项目文件
    • 2.2编译 OpenCV Debug和Release版本库
  • 3配置VC
    • 3.1配置include路径
    • 3.2配置lib路径
  • 4设置环境变量
  • 5使用OpenCV 2.3.1编程
  • 6作者

[编辑]

安装所需要的软件

[编辑]

下载OpenCV

  1. 从本站下载栏目 http://www.opencv.org.cn/index.php/Download 下载 OpenCV for Windows(也即  OpenCV-2.3.1-win-superpack.exe 文件)。
  2. 将 OpenCV-2.3.1-win-superpack.exe 解压并放到某个目录下,例如 D:\Program Files\OpenCV2.3.1 (无需运行setup.exe,解压则可)。解压后的目录结构如下图。
点击看大图
Enlarge
点击看大图
[编辑]

安装CMake(不打算自己编译无需安装)

从 http://www.cmake.org/cmake/resources/software.html 下载 Windows (Win32 Installer) 安装。


[编辑]

编译OpenCV(非必需步骤)

[编辑]

用CMake导出VC++项目文件

  • 运行cmake-gui,设置where is the source code路径为OpenCV安装路径(本文档假定安装位置为:D:\Program Files\OpenCV2.3.1\opencv),并创建子目录D:\Program Files\OpenCV2.3.1\opencv\build\my,并将cmake的"where to build the binaries"设置为这个目录。
  • 然后点 configure,在弹出的对话框内选择 Visual Studio 9 2008。
  • 你可根据你的系统修改选项,修改后再次选择“Congfigure”,完成后选择“Generate”。
(注: 此处Open CV文件放的目录不能包含汉字,否则“Congfigure”和“Generate”无法成功;同时需要关闭已经打开的VS,否则CMake与VS的宏无法配置。 by:Jackyzzy 赵振阳)
2.0版本截图仅供参考,点击看大图
Enlarge
2.0版本截图仅供参考,点击看大图
点击看大图
Enlarge
点击看大图
2.0版本截图仅供参考,点击看大图
Enlarge
2.0版本截图仅供参考,点击看大图
[编辑]

编译 OpenCV Debug和Release版本库

完成上一步骤后,将在D:\Program Files\OpenCV2.3.1\opencv\build\my目录下生成OpenCV.sln的VC Solution File,请用VC++ 2008 Express打开OpenCV.sln,然后执行如下操作:

  • 在Debug下,选择Solution Explorer(解决方案资源管理器)里的 Solution OpenCV(解决方案“OpenCV”),点右键,运行"Rebuild Solution";如编译无错误,再选择INSTALL项目,运行"Build"。
  • 在Release下,选择Solution Explorer里的 Solution OpenCV,点右键,运行"Rebuild Solution";如编译无错误,再选择INSTALL项目,运行"Build"。

全部运行完毕后,针对你的系统的OpenCV库就生成了。

[编辑]

配置VC

[编辑]

配置include路径

也即告诉VC去什么地方寻找OpenCV的头文件,打开VC,选择菜单“工具”->“选项”->“项目和解决方案”->“VC++目录”->“包含文件”,包含 D:\Program Files\OpenCV2.3.1\opencv\build\include;D:\Program Files\OpenCV2.3.1\opencv\build\include\opencv;D:\Program Files\OpenCV2.3.1\opencv\build\include\opencv2如果是自己编译的则输入D:\Program Files\OpenCV2.3.1\opencv\build\my\install\include

点击看大图
Enlarge
点击看大图
[编辑]

配置lib路径

也即告诉VC去什么地方寻找OpenCV的库文件。

在刚才下载的文件OpenCV-2.3.1-win-superpack.exe 里,已经为VC2008和VC2010预先编译好了动态库和静态库。因此我们不需要如早先版本那样,自己用cmake编译OpenCV。

  • 自己编译的库,库目录为:D:\Program Files\OpenCV2.3.1\opencv\build\my\install\lib
(注:由于自己编译成功,lib文件在Debug和Release两个文件中,加载库时需到Debug和Release中,  我配置的库目录为:D:\Program Files\OpenCV2.3.1\opencv\build\my\install\lib\Debug,否则调试时无法进入Open CV代码中。 by:Jackyzzy 赵振阳)

  • 32位系统 & VC2008,库目录为:D:\Program Files\OpenCV2.3.1\opencv\build\x86\vc9\lib
  • 32位系统 & VC2010,库目录为:D:\Program Files\OpenCV2.3.1\opencv\build\x86\vc10\lib
  • 64位系统 & VC2008,库目录为:D:\Program Files\OpenCV2.3.1\opencv\build\x64\vc9\lib
  • 64位系统 & VC2010,库目录为:D:\Program Files\OpenCV2.3.1\opencv\build\x64\vc10\lib

请根据自己的情况四选一,将库目录输入菜单“工具”->“选项”->“项目和解决方案”->“VC++目录”->“库文件” 。如下图所示:

点击看大图
Enlarge
点击看大图
点击看大图
Enlarge
点击看大图
点击看大图
Enlarge
点击看大图
[编辑]

设置环境变量

刚才设置的是动态库,因此还需要将OpenCV的dll文件所在的目录加入Path环境变量。dll文件目录如下,请根据自己情况五选一:

  • 自己编译的库,dll目录为:D:\Program Files\OpenCV2.3.1\opencv\build\my\install\bin
  • 32位系统 & VC2008,dll目录为:D:\Program Files\OpenCV2.3.1\opencv\build\x86\vc9\bin
(注:此处环境变量应与上边库目录一致,这样能够调试时能够进入代码,我自己的目录是:D:\Program Files\OpenCV2.3.1\opencv\build\x86\vc9\bin\Debug。 by:Jackyzzy 赵振阳)

  • 32位系统 & VC2010,dll目录为:D:\Program Files\OpenCV2.3.1\opencv\build\x86\vc10\bin
  • 64位系统 & VC2008,dll目录为:D:\Program Files\OpenCV2.3.1\opencv\build\x64\vc9\bin
  • 64位系统 & VC2010,dll目录为:D:\Program Files\OpenCV2.3.1\opencv\build\x64\vc10\bin

由于有些函数需要TBB,所以需要将tbb所在的目录也加入到环境变量Path中。TBB相关的DLL路径为:

  • 32位系统 & VC2008:D:\Program Files\OpenCV2.3.1\opencv\build\common\tbb\ia32\vc9
  • 32位系统 & VC2010:D:\Program Files\OpenCV2.3.1\opencv\build\common\tbb\ia32\vc10
  • 64位系统 & VC2008:D:\Program Files\OpenCV2.3.1\opencv\build\common\tbb\intel64\vc9
  • 64位系统 & VC2010:D:\Program Files\OpenCV2.3.1\opencv\build\common\tbb\intel64\vc10

如下图所示将OpenCV和TBB的dll文件所在的目录系统环境变量Path中。加入后可能需要注销当前Windows用户(或重启)后重新登陆才生效。

点击看大图
Enlarge
点击看大图
点击看大图
Enlarge
点击看大图
[编辑]

使用OpenCV 2.3.1编程

  • 打开VC++ 2008 Express,创建一个Win32控制台程序helloopencv;
点击看大图
Enlarge
点击看大图
  • 选择Solution Explorer里的opencvhello项目,点击鼠标右键,选择Properties。
点击看大图
Enlarge
点击看大图
  • ,在[链接器 LINKER]的[输入INPUT]中,为项目的Debug配置增加 [附加依赖项 Additional Dependencies]: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 (可根据实际需要删减)注意,请打开了新编辑窗口(即点击了“...”按钮)“附加依赖项”,并一条一条分别加入,一条一行(一个回车),(注意行末不要加";")否则会出现类似以下错误:1>LINK : fatal error LNK1104: 无法打开文件“…….lib”
  • 如果下载的OpenCV不是2.3.1版本,请将"XXX231d.lib"中的"231"更改为对应的版本号,例如:下载OpenCV 2.4.0,则统一改为"XXX240d.lib",否则会出现类似以下错误:1>LINK : fatal error LNK1104: 无法打开文件“XXX.lib”
点击看大图
Enlarge
点击看大图
  • 为项目的Release配置增加[附加依赖项 Additional Dependencies]: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 (可根据实际需要删减)*
点击看大图
Enlarge
点击看大图
  • 编译运行下面的例程(需要将lena.jpg文件放在项目目录下,即与生成的.exe文件同位置)(这里有误。双击exe的话,图片放在.exe同一文件夹内;按F5直接运行程序的话,lena.jpg要放在helloopencv\helloopencv里)。
/*********************************************************************** * OpenCV 2.3.1 测试例程 * 于仕琪 提供 ***********************************************************************/#include "stdafx.h" #include <opencv2/opencv.hpp> using namespace std;using namespace cv; int main(int argc, char* argv[]){const char* imagename = "lena.jpg"; //从文件中读入图像Mat img = imread(imagename); //如果读入图像失败if(img.empty()){fprintf(stderr, "Can not load image %s\n", imagename);return -1;} //显示图像imshow("image", img); //此函数等待按键,按键盘任意键就返回waitKey(); return 0;}
程序运行结果图,点击看大图
Enlarge
程序运行结果图,点击看大图
[编辑]

作者

  • 于仕琪
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 信用卡欠了20万怎么办 信用卡逾期3个月怎么办 信用卡逾期4个月怎么办 欠赌债跑路家人怎么办 口头欠下的赌债怎么办 我赌博欠了230万怎么办 被淘宝商家骗了怎么办 东西卡在喉咙里怎么办 东西粘在喉咙里怎么办 有异物卡在喉咙怎么办 喉咙老有异物感怎么办 喉咙疼有异物感怎么办 喉咙卡了小鱼刺怎么办 嗓子卡了小鱼刺怎么办 骨头卡在喉咙里怎么办 卡刺喉咙怎么办小窍门 中百购物卡过期怎么办 得仕卡过期了怎么办 超市购物卡丢了怎么办 中石化油卡丢失怎么办 etc同车换车牌了怎么办 石油加油卡丢了怎么办 石化加油卡丢了怎么办 怎么办中石化的加油卡 中石油油卡丢失怎么办 公司加油卡丢了怎么办 yy频道被回收了怎么办 油卡里的圈存怎么办 农商银行圈存怎么办 社保卡号忘记了怎么办 陕西壳牌加油卡怎么办 联通用超了流量怎么办 联通3g上不了网怎么办 车玻璃水冻住了怎么办 车里玻璃水冻了怎么办 做现货亏了60万怎么办 宿舍太吵晚上睡不着觉怎么办 脚扎了钉子肿了怎么办 龙血树叶子下垂怎么办 龙血树叶子卷曲怎么办 3岁宝宝长期便秘怎么办