opencv3.3.0+vs2010+cmake环境搭建
来源:互联网 发布:淘宝上的图片怎么保存 编辑:程序博客网 时间:2024/05/19 18:42
Cmake简介:
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。
一.相关软件的下载和安装
需要下载opencv3.3.0,opencv_contrib-master或者opencv_contrib-3.3.0和cmake-gui。
opencv3.3.0 下载说明
opencv_contrib下载
注意:opencv_contrib有opencv_contrib-master和opencv_contrib-3.3.0(在release) 连接中,本来应该是下载对应版本的opencv_contrib-3.3.0,但是我试过之后发现下载这个待会在编译后使用会出现问题,所以建议选master版本
cmake 下载,你需要根据电脑系统选择对应的版本。
cmake下载的是免安装版本,解压缩之后打开cmake-gui就能直接运行。
将下载的3个文件opencv-3.3.0.exe和opencv_contrib-master.zip和cmake.zip安装/解压缩
并为opencv-3.3.0配置环境变量,即在系统环境变量中添加
D:\opencv-3.3.0\opencv\build\x64\vc14\bin
一.编译
打开bin目录下的cmake-gui.exe。
编译分为在x86和x64下2中编译方式,默认是使用x86编译。
1. source code路径选择opencv3.1下的sources文件夹,build路径可以自己新建一个文件夹进行存放,如下图:2. 打开Tool---Configure,如果想生成x86下的库,则选择Visual Studio 14 2015;如果想生成x64下的库,则选择Visual Studio 14 2015 Win64。然后点击Finish。如下图:
等待一段时间,软件会自动配置
3. 配置完成后,找到OPENCV_EXTRA_MODULES_PATH,将opencv_contrib的目录放进去。如下图,我的opencv_contrib路径为D:/opencv/opencv_contrib-master/modules
4. 点击Generate,等待配置完成。
Visual Studio 2015编译生成release库和debug库
1. 找到之前新建的newBuild目录,打开新生成的OpenCV.sln。
2. 在解决方案资源管理器中,选中“解决方案‘OpenCV’”,右键-->重新生成解决方案。
3. 依旧是资源管理器中,找到CMakeTargets中的INSTALL,右键-->仅用于项目-->仅生成INSTALL。注:想要Debug版(格式为opencv_xxxx310d.lib)的和Release版(格式为opencv_xxxx310.lib)的lib的话,分别选择Debug和Release以后,生成两遍就可以了。完成后,D:/OpenCV3.1/sources/newBulid/install下会有很多东西。
配置VS2015(2010基本一样)
1. 新建win32控制台项目
2. 新建cpp源文件。
3. 配置包含目录
我的是D:\opencv\opencv310\sources\newBulid\install\include
D:\opencv\opencv310\sources\newBulid\install\include\opencv
D:\opencv\opencv310\sources\newBulid\install\include\opencv2
如下图:
4. 配置库目录
我的是D:\opencv\opencv310\sources\newBulid\install\x86\vc14\lib
如下图:
5. 配置依赖项。
由于生成的依赖项太多,要是把每个lib一个一个写上去,很麻烦,有一种简便的方法,即,路径+*.lib,比如我的即为:
D:\opencv\opencv310\sources\newBulid\install\x86\vc14\lib\*.lib
如下图
6. 以上是win32(x86)Debug配置方法,其他模式(x64、Release)配置方法类似。
5. 配置依赖项。
由于生成的依赖项太多,要是把每个lib一个一个写上去,很麻烦,有一种简便的方法,即,路径+*.lib,比如我的即为:
D:\opencv\opencv310\sources\newBulid\install\x86\vc14\lib\*.lib
D:\opencv\opencv310\sources\newBulid\install\x86\vc14\staticlib\*.lib
如下图
测试KCF跟踪算法
在上面的工程中添加cpp源文件,并输入如下代码:
[cpp] view plain copy print?#include <opencv2/core/utility.hpp> #include <opencv2/tracking.hpp> #include <opencv2/videoio.hpp> #include <opencv2/highgui.hpp> #include <iostream> #include <cstring> using namespace std; using namespace cv; int main() { // declares all required variables //! [vars] Rect2d roi; Mat frame; //! [vars] // create a tracker object Ptr<Tracker> tracker = Tracker::create("KCF"); //! [create] // set input video //! [setvideo] std::string video = "E:\\demo1.avi"; VideoCapture cap(video); //! [setvideo] // get bounding box //! [getframe] cap >> frame; //! [getframe] //! [selectroi]选择目标roi以GUI的形式 roi = selectROI("tracker", frame); //! [selectroi] //quit if ROI was not selected if (roi.width == 0 || roi.height == 0) return 0; // initialize the tracker //! [init] tracker->init(frame, roi); //! [init] // perform the tracking process printf("Start the tracking process\n"); for (;; ) { // get frame from the video cap >> frame; // stop the program if no more images if (frame.rows == 0 || frame.cols == 0) break; // update the tracking result //! [update] tracker->update(frame, roi); //! [update] //! [visualization] // draw the tracked object rectangle(frame, roi, Scalar(255, 0, 0), 2, 1); // show image with the tracked object imshow("tracker", frame); //! [visualization] //quit on ESC button if (waitKey(1) == 27) break; } return 0; }
注意:修改std::string video ="E:\\demo1.avi";这条语句中的视频路径即可。
运行之后,首先框出物体,然后按下空格或者回车,系统便开始跟踪
如果运行出错,则将Newbuild/install/x86/v10/bin目录下的文件全部复制到 C:\windows\SysWOW64(64位系统,如果是32位,则目录是C:\windows\System32)另注:
python+opencv 环境搭建
将opencv源码安装文件夹中
D:\opencv-3.3.0\opencv\build\python\2.7\x64(64位系统,32位是\x86)目录下的OpenCV2.pyd
复制到python安装目录中的
Lib\site-packages文件夹下,在命令行中就可以直接用 import cv2 导入使用
5. 配置依赖项。
由于生成的依赖项太多,要是把每个lib一个一个写上去,很麻烦,有一种简便的方法,即,路径+*.lib,比如我的即为:
D:\opencv\opencv310\sources\newBulid\install\x86\vc14\lib\*.lib
D:\opencv\opencv310\sources\newBulid\install\x86\vc14\staticlib\*.lib
如下图
- opencv3.3.0+vs2010+cmake环境搭建
- opencv+cmake+vs2010开发环境搭建笔记
- VS2010 + Cmake + Qt4.8 简单的环境搭建实例。
- Windows环境使用CMake编译 opencv3.3.0 && opencv_contrib3.3.0
- Win10专业版+VS2017+OpenCV3.3.0环境搭建
- opencv3.0.0环境搭建
- Android Studio Cmake & OpenCV3.2环境
- 重新搭建opencv3.0和vs2010
- VS2015+opencv3.1.0环境搭建
- CodeBlocks+OpenCV3.2环境搭建
- OpenCV3.2.0+VS2017环境搭建
- VS2015+opencv3.1.0环境搭建
- OpenCV3.2.0+VS2017环境搭建
- OpenCV3.0 +VS2010开发环境配置
- VS2010搭建OpenGL环境
- vs2010搭建gtk+环境
- OpenGL+vs2010环境搭建
- VS2010 + Qt环境搭建
- 解决VMware虚拟机网络时长中断的问题
- 如何在VS2010中的MFC中配置GDI+
- Vue 中的 v-if 和 v-show
- jquery中attr和prop的区别
- 使用express框架,如何在ejs文件中导入外部的js、css文件
- opencv3.3.0+vs2010+cmake环境搭建
- Error:Error: Expected resource of type styleable [ResourceType]
- shipyard的内存消耗统计-测试
- Qt学习笔记——对话框
- 并发包:ExecutorService和ThreadPoolExecutor
- wpf 基本的xaml 事件触发器注意事项
- 批处理打开文件目录带空格
- CentOS 7 安装 NVIDIA 显卡驱动和 CUDA Toolkit
- 虚拟机的网络连接