OpenCV 3.00 + VS2010环境配置(DLL版本)

来源:互联网 发布:mac类似于硕鼠的软件 编辑:程序博客网 时间:2024/05/21 08:00
OpenCV 300 提供默认编译版本为VC11(VS2012),VC12(VS2013),因此需要在VS2010上重新编译
同时OpenCV 300 将所有模块合并为 opencv_world300.dll,体积较大,需要进行分解

1.使用cmake 生成OpenCV 300的VS2010工程
步骤:
(1)使用cmake选择source code路径,路径为opencv/source
(2)选择生成工程的路径
(3)点击Configure按钮,选择功能
(4)提示Configure done后,选择Generate
PS:因为OpenCV的cmake文件默认是DLL的,所以不需要任何修改,如果要编译Static Lib则需要进行一些修改
注意:
采用cmake生成OpenCV 工程时,因为用户名为中文,所以Configure可能会失败,可以多试几次(网上资料用了2次,我使用了3次)
后来改为英文用户名,英文路径1次通过。
cmake截图如下
   

2.编译OpenCV 300 Release,Debug
步骤:
(1)直接使用VS2010打开工程,可以看到所有代码
(2)选择release,debug,并分别编译(release一次通过,debug提示有两个工程因为无法关闭,失败,编译第二次通过)

3.在需要OpenCV图像算法支持的工程中引入相应的图像库
步骤:
(1)在代码中添加.h和.Lib文件
#ifdef _DEBUG
#pragma comment(lib, "../../Lib/OpenCV300/lib/opencv_core300d.lib")
#pragma comment(lib, "../../Lib/OpenCV300/lib/opencv_highgui300d.lib")
#pragma comment(lib, "../../Lib/OpenCV300/lib/opencv_imgproc300d.lib")
#pragma comment(lib, "../../Lib/OpenCV300/lib/opencv_objdetect300d.lib")
#pragma comment(lib, "../../Lib/OpenCV300/lib/opencv_imgcodecs300d.lib")
#else
#pragma comment(lib, "../../Lib/OpenCV300/lib/opencv_core300.lib")
#pragma comment(lib, "../../Lib/OpenCV300/lib/opencv_highgui300.lib")
#pragma comment(lib, "../../Lib/OpenCV300/lib/opencv_imgproc300.lib")
#pragma comment(lib, "../../Lib/OpenCV300/lib/opencv_objdetect300.lib")
#pragma comment(lib, "../../Lib/OpenCV300/lib/opencv_imgcodecs300.lib")
#endif
#include <opencv2/opencv.hpp>
#include <opencv2/core/core.hpp>  
#include <opencv2/highgui/highgui.hpp>  
#include <opencv2/imgproc/imgproc.hpp>  
(2)在属性-》C++-》附加路径添加
..\..\Lib\OpenCV300\Include\opencv2
..\..\Lib\OpenCV300\Include
(3)将相应的DLL拷贝至运行目录
注意:
1.暂时没有找到cvCopyImage函数,貌似被取消了!(真的取消了,2.4.4开始,用cvCopy取代)
2.暂时没有找到cvQueryHistValue_1D
3.cv::Mat dst = cv::Mat(iplDst,true);也不能用了,要有cv::Mat dst = cv::cvarrToMat(iplDst,true); 


参考资料
1.《安装opencv3.0.0与配置Visual studio 2008》http://jingyan.baidu.com/article/b907e627cb97cd46e7891c3d.html
2.《【OpenCV入门教程之七】 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译》http://blog.csdn.net/poem_qianmo/article/details/21974023
3.openCV 中cvCopyImage,cvCopyMat和cvCloneImage,cvCloneMat的区别》https://absorbguo.blog.ustc.edu.cn/?p=61
3 0
原创粉丝点击