VS2017 + cmake 3.7 + opencv 3.2 编译
由于各种原因使用了VS2010不支持的功能,需要在VS2017上使用opencv,且opencv release 没有 vc15(VS2017需要的),所以需要编译opencv 固有此文
本文参考:
http://blog.csdn.net/maize1111/article/details/68923677
http://blog.csdn.net/jarvischu/article/details/8468894
电脑配置: Win10 64bit
1. 在opencv官网上下载 open3.2 的source文件, copy到D盘 解压缩 D:\opencv-3.2.0,在 D:\opencv-3.2.0 文件夹新建 build/vc15
2. 打开Cmake (电脑上没安装的去官网下载安装)
在source code 和 build 分别browse到路径,其中source code是含有Cmakelist文本文件的那个文件夹,build是我们刚刚建好的空文件夹
输好路径之后,点configure,选Visual Studio 15,确认,等待几分钟,如果没有错误则点generate,再没有错误就 open project。
我一开始用Visual Studio 15 + opencv2.4做的时候最后报错版本不匹配,后来换成3.2版本就没有问题了
3. openproject 打开VS2017后,在左栏项目文件下面 选择CMakeTargets下面的INSTALL,右键点击,选择build生成(分别在Debug和Release下面生成两次),生成之后就意味着你的OpenCV已经编译成功了
首先,在系统变量PATH中添加你编译的OpenCV路径,D:\opencv-3.2.0\opencv-3.2.0\build\vc15\install\x86\vc14\lib 加入PATH变量中。
然后把D:\opencv-3.2.0\opencv-3.2.0\build\vc15\install\x86\vc14\bin下的所有DLL文件Copy到C:\Windows\SysWOW64以及C:\Windows\System32下面。
4. 之后开始配置 VS 项目属性
点project - 选最后一个 '属性',分别在debug 和 release 选项下配置,debug和release 的配置过程基本相同,唯一的不同点是添加附加依赖项的时候文件名相差一个字母
4.1 配置包含文件
D:\opencv-3.2.0\opencv-3.2.0\build\vc15\install\include
D:\opencv-3.2.0\opencv-3.2.0\build\vc15\install\include\opencv
D:\opencv-3.2.0\opencv-3.2.0\build\vc15\install\include\opencv2
4.2 配置库文件
D:\opencv-3.2.0\opencv-3.2.0\build\vc15\install\x86\vc14\lib
4.3 配置附加依赖项
4.3.1 Debug下面
复制 下面的内容, 此处应注意,确认如下文件名是否可以在 D:\opencv-3.2.0\opencv-3.2.0\build\vc15\install\x86\vc14\lib 文件夹下被找到,因为opencv版本不同,文件名也不一样,填写内容应与lib文件夹下文件名匹配
opencv_ml320d.lib
opencv_calib3d320d.lib
opencv_core320d.lib
opencv_features2d320d.lib
opencv_flann320d.lib
opencv_highgui320d.lib
opencv_imgcodecs320d.lib
opencv_imgproc320d.lib
opencv_objdetect320d.lib
opencv_video320d.lib
opencv_photo320d.lib
opencv_shape320d.lib
opencv_stitching320d.lib
opencv_superres320d.lib
opencv_videostab320d.lib
opencv_videoio320d.lib
4.3.2 Release下面
同理 复制
opencv_ml320.lib
opencv_calib3d320.lib
opencv_core320.lib
opencv_features2d320.lib
opencv_flann320.lib
opencv_highgui320.lib
opencv_imgcodecs320.lib
opencv_imgproc320.lib
opencv_objdetect320.lib
opencv_video320.lib
opencv_photo320.lib
opencv_shape320.lib
opencv_stitching320.lib
opencv_superres320.lib
opencv_videostab320.lib
opencv_videoio320.lib
确认 所有对话框
5. 测试
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp" #include <iostream> using namespace cv;
using namespace std; static void help()
{ cout << "\nThis program demonstrates circle finding with the Hough transform.\n" "Usage:\n" "./houghcircles <image_name>, Default is pic1.png\n" << endl;
} int main(int argc, char** argv)
{ const char* filename = argc >= 2 ? argv[1] : "board.jpg"; Mat img = imread(filename, 0); if(img.empty()) { help(); cout << "can not open " << filename << endl; return -1; } Mat cimg; medianBlur(img, img, 5); cvtColor(img, cimg, COLOR_GRAY2BGR); vector<Vec3f> circles; HoughCircles(img, circles, CV_HOUGH_GRADIENT, 1, 10, 100, 30, 1, 30 // change the last two parameters // (min_radius & max_radius) to detect larger circles ); for( size_t i = 0; i < circles.size(); i++ ) { Vec3i c = circles[i]; circle( cimg, Point(c[0], c[1]), c[2], Scalar(0,0,255), 3, CV_AA); circle( cimg, Point(c[0], c[1]), 2, Scalar(0,255,0), 3, CV_AA); } imshow("detected circles", cimg); waitKey(); return 0;
}
注意,要保证项目文件夹下已经拷贝名为
board.jpg
的图片,否则运行结果显示找不到图片
成功!
VS2017 + cmake 3.7 + opencv 3.2 编译相关推荐
- vs2017 cmake android,CMake构建VS2017工程
1 安装VS2017/cmake 2 工程开发 3 生成VS2017工程 4 参考资料 1 安装VS2017/cmake 软件安装: Visual Studio官网下载Visual Studio Co ...
- tx2+opencv源码编译教程(tx2+opencv4.4.0+opencv_contrib-4.4.0)
tx2+opencv源码编译教程(tx2+opencv4.4.0+opencv_contrib-4.4.0) 一.卸载TX2上已安装的opencv 打开终端,输入以下指令卸载已经安装的opencv: ...
- OpenCV开发笔记(一):OpenCV介绍、编译
若该文为原创文章,未经允许不得转载 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/100072151 各位读者,知识无穷而人力有穷, ...
- 解决 OpenCV with CUDA 编译提示缺少 nvcuvid.h 的问题
解决 OpenCV with CUDA 编译提示缺少 nvcuvid.h 的问题 参考文章: (1)解决 OpenCV with CUDA 编译提示缺少 nvcuvid.h 的问题 (2)https: ...
- windows下vscode + code runner + cmake + msbuild.exe搭建C++快速编译环境
环境准备 安装 visual studio 安装 VS code VS code 安装 code runner 插件 直接编译不通过CMake 无需安装Cmake 通过预设的环境进行编译 这种方法有时 ...
- vscode配置opencv环境,包括opencv源码编译(mingw64 + cmake)
vscode使用了mingw64,在使用官网下载的opencv后,发现有函数提示功能,但是在调试时出现了各种opencv库中的各种函数未定义的情况(如下图代码所示的类型),然后突然明白过来,既然使用了 ...
- 【OpenCV 笔记】编译Opencv contrib模块
前言:opencv官方提供的build并不包含全部的功能,比如本人最近接触到的SURF特征提取,这些功能都集成在了contrib模块中,需要我们自己到opencv的官方GitHub上下载contrib ...
- opencv 3.1编译 linux,Ubuntu 编译安装 OpenCV 3.1
目标系统:Ubuntu 16.04-64bit OpenCV 版本:opencv-3.1.0 安装步骤 安装 cmake.sudo apt-get isntall cmake cmake-qt-gui ...
- 【opencv】1.opencv安装、编译、运行等踩坑记录
1.安装python2环境下opencv2.4.9安装不成功的解决方法 2.查看linux下的各种安装库的安装位置和版本,以opencv为例 3.cmake与g++: opencv之在Linux下编译 ...
最新文章
- 将现有网站与Community Server2.0整合解决方案(原创)
- 第三次软工作业——实现最大字段和算法并进行判定条件覆盖
- 2017-2018-1 20155226 20155234 《信息安全系统设计基础》 实验一总结
- node 获取表单数据 为空_数据结构与算法(python)单向链表篇
- c #include如何找到文件_如何用C编写自己的头文件?
- CSS背景颜色转换(自动生成IE8以下的filter,兼容IE9)
- let const缓存for循环的中间变量
- [SAP ABAP开发技术总结]权限对象检查
- 寻找内存泄漏:一个案例研究
- linux touch更新文件时间,Linux文件时间的查看和修改touch
- C语言之strstr函数
- Mac MongoDB未正常关闭导致重启失败
- 九和一 Hidove聚合在线图床PHP源码
- php 星座运势_星座运势查询示例代码
- QT5开发及实例学习之八基本对话框(一)
- jquery cookie 本地不能工作的原因
- 本地源制作docker镜像
- chrome-推荐13个插件
- 【UE4】UE4蓝图基础
- WinZip 11 汉化注册版