OpenCV2.3.1+VS2005配置方法
OpenCV2.3.1+VS2005
下载OpenCV
- 从 http://www.opencv.org.cn/index.php/Download 下载 OpenCV for Windows(也即 OpenCV-2.3.1-win-superpack.exe 文件)。
- 将 OpenCV-2.3.1-win-superpack.exe 解压并放到某个目录下,无需运行setup.exe,解压则可,例如 c:\OpenCV2.3.1\opencv 。解压后的目录结构如下图。
3 安装CMake
从 http://www.cmake.org/cmake/resources/software.html 下载 Windows (Win32 Installer) 安装。
文件CMake 2.8就位于opencv2.3.1之下
4 编译OpenCV
1 用CMake导出VC++项目文件
- 运行cmake-gui,设置where is the source code路径为OpenCV安装路径(本文档假定安装位置为:c:\OpenCV2.3.1),并创建子目录c:\OpenCV2.3.1\build\vs2005,并将cmake的"where to build the binaries"设置为这个目录。
- 然后点 configure,在弹出的对话框内选择 Visual Studio 8 2005。
- 你可根据你的系统修改选项,修改后再次选择“Congfigure”,完成后选择“Generate”。
2编译 OpenCV Debug和Release版本库(若有几个错误可以再次操作,就可以了;再次操作仍然有错误,可以先忽略)
完成上一步骤后,将在c:\OpenCV2.3.1\opencv\build\vs2005目录下生成OpenCV.sln的VC Solution File,请用vs2005打开OpenCV.sln,然后执行如下操作:
- 在Debug下,选择Solution Explorer(解决方案资源管理器)里的 Solution OpenCV(解决方案“OpenCV”),点右键,运行"Rebuild Solution";如编译无错误,再选择INSTALL项目,运行"Build"。
- 在Release下,选择Solution Explorer里的 Solution OpenCV,点右键,运行"Rebuild Solution";如编译无错误,再选择INSTALL项目,运行"Build"。
全部运行完毕后,针对你的系统的OpenCV库就生成了。
5 配置Vs2005
1 配置include路径
也即告诉Vs去什么地方寻找OpenCV的头文件,打开Vs,选择菜单“工具”->“选项”->“项目和解决方案”->“VC++目录”->“包含文件”,包含c:\OpenCV2.3.1\opencv\build\vs2005\install\include;c:\OpenCV2.3.1\opencv\build\vs2005\install\include\opencv;c:\OpenCV2.3.1\opencv\build\vs2005\install\include\opencv2. 如图(是VS2005文件夹下的install,前面的是相对路径,不必完全一样)
2配置lib路径
也即告诉VC去什么地方寻找OpenCV的库文件。
- 自己编译的库,库目录为:c:\OpenCV2.3.1\opencv\build\vs2005\install\lib,如图
3设置环境变量(非常重要,出现问题首先检查这里)
刚才设置的是动态库,因此还需要将OpenCV的dll文件所在的目录加入Path环境变量。
自己编译的库,dll目录为:c:\OpenCV2.3.1\opencv\build\vs2005\install\bin
如下图所示将dll目录文件路径加到:系统环境变量Path中。加入后可能需要注销当前Windows用户(或重启)后重新登陆才生效。
环境变量不要太混乱,比如userA配置的同一版本的环境变量,userB也配置了,有可能build无问题,运行时出现“无法启动此程序,因为计算机中丢失XXX.dll文件的情况”并且提示你重装,千万不要重装。
使用OpenCV 2.3.1编程
1 打开vs2005新建一个win32程序,
2。输入以下程序,(需要将lena.jpg文件放在项目目录下,即与生成的.exe文件同位置)。
[html] view plain copy
print?
1. // opencv2.3.1test.cpp : 定义控制台应用程序的入口点。
2. //
3.
4. #include "stdafx.h"
5.
6. #include <opencv2/opencv.hpp>
7.
8. using namespace std;
9.
10. using namespace cv;
11.
12.
13. int _tmain(int argc, _TCHAR* argv[])
14. {
15. char* imagename = "k2.jpg";//从文件中读入图像
16.
17. IplImage* img = cvLoadImage( "k2.jpg",1 );
18.
19. if(!img)//如果读入图像失败
20.
21. {
22.
23. fprintf(stderr,"Can not load image %s\n", imagename);
24.
25. return -1;
26.
27. }
28.
29. cvShowImage("image", img);
30.
31. waitKey();
32.
33. return 0;
34.
35. }
3为项目配置增加[附加依赖项 AdditionalDependencies]:
Project-propertes-linker-input在[链接器 LINKER]的[输入INPUT]中,
为项目的Debug配置增加 [附加依赖项 AdditionalDependencies]:
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
(若无此操作,将会在debug下报错:
errorLNK2001: unresolved external symbol _cvCreateFileCapture
errorLNK2001: unresolved external symbol _cvWaitKey
errorLNK2001: unresolved external symbol _cvGetSize
errorLNK2001: unresolved external symbol _cvReleaseCapture
errorLNK2001: unresolved external symbol _cvCalibrateCamera2
errorLNK2001: unresolved external symbol _cvDrawChessboardCorners
errorLNK2001: unresolved external symbol _cvQueryFrame
errorLNK2001: unresolved external symbol _cvReleaseMat
errorLNK2001: unresolved external symbol _cvSave
……)
(可根据实际需要删减)
注意,请打开了新编辑窗口(即点击了“...”按钮)“附加依赖项”,并一条一条分别加入,一条一行(一个回车),(注意行末不要加";")否则会出现类似以下错误:1>LINK : fatalerror LNK1104: 无法打开文件“…….lib”
如果下载的OpenCV不是2.3.1版本,请将"XXX231d.lib"中的"231"更改为对应的版本号,
例如:下载OpenCV 2.4.0,则统一改为"XXX240d.lib",否则会出现类似以下错误:1>LINK : fatal errorLNK1104: 无法打开文件“XXX.lib”
为项目的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
(若无此操作,将会在relesae下报错:
errorLNK2001: unresolved external symbol _cvCreateFileCapture
errorLNK2001: unresolved external symbol _cvWaitKey
errorLNK2001: unresolved external symbol _cvGetSize
errorLNK2001: unresolved external symbol _cvReleaseCapture
errorLNK2001: unresolved external symbol _cvCalibrateCamera2
errorLNK2001: unresolved external symbol _cvDrawChessboardCorners
errorLNK2001: unresolved external symbol _cvQueryFrame
errorLNK2001: unresolved external symbol _cvReleaseMat
errorLNK2001: unresolved external symbol _cvSave
……)
(可根据实际需要删减)*
如图:为bebug加入依赖项
参考资料http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.3.1
上述所有过程完成,若还有问题,如“应用程序无法正常启动(0xc0150002)”,则新建环境变量TBB:
变量名:TBB
变量值:C:\opencv2.3.1\opencv\build\common\tbb\ia32\vc8
主程序应当包含的头文件:
#include "stdafx.h"
#include <opencv2/opencv.hpp>
#include <string>
#include <iostream>
using namespace std;
OpenCV2.3.1+VS2005配置方法相关推荐
- [opencv]opencv2.4.10在vs2013下的配置方法
配置方法包括各类每次新建项目需要进行配置的方法和一次性配置的方法. 1.版本 opencv:2.4.10 下载地址:http://opencv.org/downloads.html visual s ...
- .net下的富文本编辑器FCKeditor的配置方法(图)原创
.net下的富文本编辑器FCKeditor的配置方法(图)原创 FCKeditor是一款开源的富文本编辑器,几乎支持所有流行的Web开发语言,版本稳定,用户多,可配置性好. 以前做Java和php的时 ...
- VS2010+Opencv-2.4.0的配置攻略
摘要:在VS2010环境中应用Opencv,网上找到了很多配置方法,但大多都是老版本的,很多新手面对最新版本的Opencv无从下手,就给新手童鞋写了这么一篇超级详细的配置攻略,贴上来共享.要强调一点的 ...
- 【非原创】Ubuntu14.04+cuda6.5+opencv2.4.9+caffe配置记录
Ubuntu14.04+cuda6.5+opencv2.4.9+caffe配置记录 从4月5日差不多开始安装,到今天4月15日,快两个星期了.如果加上之前自己看点Linux的时间,这折腾的有两个星期( ...
- vss2005配置方法
安装vss2005(下载)和vs2005 前提:保证asp.net框架为2.0 服务器端配置方法 1, 建立数据库文件,比如d:/vss2005 2, 给这个文件添加everyone可以控制的所有 ...
- Win11下VS2022的emguCV4.6安装配置方法
本人做图像处理处理很多年了,最开始是用VC6,尽管有一些源码例子,但好多库还得自己创建,什么都得自己写,工作量巨大.VS是从2003版本开始入门的,这也是VS的第一个版本,这个版本其实是个测试版,有很 ...
- SubSonic的配置方法
在刚开始使用中就碰到问题:按照官方的方法配置,总是不能编译时自动生成数据访问层代码(其中一种,也可使用命令行自己生成,下面介绍).本文只要介绍了这两种配置subsonic的方法. 1.配置方法 自动在 ...
- SubSonic的配置方法浅谈
在刚开始使用中就碰到问题:按照官方的方法配置,总是不能编译时自动生成数据访问层代码(其中一种,也可使用命令行自己生成,下面介绍).本文只要介绍了这两种配置subsonic的方法. 1.配置方法 自动在 ...
- Qt_OpenCV_VS2013配置方法
Qt_OpenCV_VS2013配置方法 文章目录 Qt_OpenCV_VS2013配置方法 1. Qt 安装和VS2013安装 2. Qt补充安装MSVC编译器 3. 在Qt中新建一个项目 4. q ...
- Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)
博客园 首页 新随笔 联系 管理 订阅 <div class="blogStats"><!--done--> 随笔- 556 文章- 38 评论- 77 ...
最新文章
- 编辑模式下,控制对象移动
- 功率谱有什么用_马达品牌不同,功率一样,变频器互相不能用,是什么原因
- 【密码学】CSP的概念
- 桌面SVN检出这一选项消失
- 互联网大事件:《江南style》如何蹿红?(转)
- ajax js java省市三级联动菜单,AJAX省市区三级联动下拉菜单(java版)
- java缓存内存泄漏_java – getMethod是缓存并导致内存泄漏
- mysql checking permissions 优化_mysql 查询优化 ~ 善用profie利器
- 【从零开始的OpenGL学习】1. 配置OpenGL,绘制最简单的一个三角形,HelloWorld(学习笔记)
- 如何在Windows 10上修复缩略图问题
- ggplot2_ `scale_xxx()`标度调整
- 人人网2017暑假实习生招聘-一面
- stm32检测串口空闲的原理
- 做计算机实验报告的总结,制作网线实验报告与总结
- 一个亿万富翁利用商城软件白手起家的故事
- Hadoop-HA集群启动后两个namenode都是standby问题。
- Android开发之获取当前展示的activity的包名,类名
- Alexnet_经典的CNN模型架构-LeNet、AlexNet、VGG、GoogleLeNet、ResNet
- 2021系统分析师考试资料--新鲜的哦~
- 设变量 a 是整型, f 是实型, i 是双精度型,则表达式 10+ ‘ a ’ +i*f 值的数据类型为( )。