OpenCV-2.4.3+VS2010+Win7(32位)安装与配置
By 马冬亮(凝霜 Loki)
一个人的战争(http://blog.csdn.net/MDL13412)
开篇
最近开始做毕业设计,其中有一个需求是使用普通摄像头进行图像采集,并生成全景图像。既然涉及到了图像处理,那OpenCV是一个非常不错的选择,在OpenCV官网上浏览了一下,发现新版本的OpenCV-2.4.3中内置了stitching模块,这个模块就是用来做图像拼接的,于是选择最新版本进行配置。
准备工作
配置OpenCV前需要下载并安装的软件:
- Visual Studio 2010
- CMake 2.8
安装OpenCV
- 下载OpenCV for Windows安装包,下载下来名称为OpenCV-2.4.3.exe;
- 运行安装包,解压到D盘根目录(可以修改为其他目录);
- 运行CMake,设置好OpenCV的源码路径及构建路径,如下图所示:
- 点击Configure按钮,如下图所示:
- 在弹出的编译器选择界面中选择Visual Studio 10,如下图所示:
- 等待配置完成,出现如下界面:
- 将BUILD_EXAMPLES选项勾上,其余的使用默认配置即可,如果需要使用OpenNI、OpenGL、QT、TBB库的请自行配置库路径;
- 再次点击Configure按钮,再次进行配置;
- 配置成功后,点击Generate按钮,生成VS 2010所需的工程文件;
- 切换目录到D:/OpenCV24(以自己的build路径为准),打开使用VS 2010打开OpenCV.sln;
- 切换Build模式为Debug,右键选择解决方案"OpenCV",在其中选择"重新生成解决方案",如下图所示:
- 等待Build完成后,找到INSTALL子项目,右键选择"生成",如下图所示:
- 切换Build模式为Release,重新进行一次构建;
配置OpenCV
- 用VS2010新建一个控制台项目,创建主文件,文件内容如下:
#include <string> #include <opencv2\opencv.hpp> using namespace cv; using namespace std; #pragma comment(lib, "opencv_core243d") #pragma comment(lib, "opencv_highgui243d") #pragma comment(lib, "opencv_imgproc243d") #pragma comment(lib, "opencv_ml243d") #pragma comment(lib, "opencv_stitching243d") int main() { string imagename = "D:\\1.jpg"; //读入图像 Mat img = imread(imagename); //如果读入图像失败 if(img.empty()) { return -1; } //创建窗口 namedWindow("image",1); //显示图像 imshow("image", img); //等待按键,按键盘任意键返回 waitKey(); return 0; }
- 将所需的dll和lib文件拷贝到项目的Debug文件夹内,如下图所示:
- 接下来,切换到"属性管理器",在项目的"Debug|Win32"下,找到“Microsoft.Cpp.Win32.user”选项,右键选择"属性",如下图所示:
- 在弹出的属性对话框中,切换到“VC++目录”,如下图所示:
- 需要配置的选项为"可执行文件目录"、"包含目录"、"库目录",其中"可执行文件目录"和"库目录"配置如上图所示,"包含目录"如下图所示:
- Release模式的配置方法与Debug模式类似,不再详述;
- 完成上述配置后,在D盘根目录下保存一个1.jpg图像,在Debug模式下,编译并运行程序,即可测试OpenCV是否配置成功。
结语
OpenCV-2.4.3版本的源码及构建目录结构发生了一些变化,使用老版本的配置方法将不能工作,需要特别注意。另外新版本中的例程增加了很多,对学习OpenCV很有帮助。
另外需要吐槽一句,OpenCV的stitching模块真的很慢,合并10张640*480像素的jpg图像,在我的电脑上要运行2分钟,故不推荐使用。