win7 x64 +vs2015 + cmake3.10.3编译opencv-3.4.1+opencv_contrib-3.4.1源码,并进行配置
简介:
一直以来都是在ubuntu下使用opencv,最近因为有《图像处理与模式识别》这门课,需要使用vs2015+opencv提交课程作业,因为opencv官方编译好的exe没有contrib部分,就索性自己来cmake,还是鼓足了很大的勇气的,不过还是要勇敢踩坑。
一、编译前准备
1.cmake3.10.3

官网下载,或者【百度云下载】,提取码【hk1p】,自行百度自己安装
2.opencv源码
opencv-3.4.1: https://github.com/opencv/opencv/releases
opencv_contrib-3.4.1: https://github.com/opencv/opencv_contrib/releases
二、cmake编译opencv
1.打开cmake,首先编译opencv-3.4.1, 选定 源码路径 和 编译输出路径 ,如下图:

这里我自己定义的源码路径是:D:/opencv3.4.1/sources/opencv-3.4.1 , 编译输出路径是: D:/opencv3.4.1/build
然后单击 configure , 并选择如下图所示的配置,(我的电脑装的是vs2015 x64)


然后点击Finish,就可以开始进行编译了。
2. 编译opencv-3.4.1过程中遇到的问题,及解决办法
出现问题的原因的是,cmake过程中,需要从国外网站下载一下文件,导致下载不下来。

具体做法是,自己去取下载这三个文件,这里我给出容易下载失败的文件百度云链接,也可以去源码对应的github仓库中的3rdparty中下载自己没有下载成功的文件
opencv_ffmpeg_64.dll 【百度云下载】,提取码:【p4tu】
oepncv_ffmpeg.dll 【百度云下载】,提取码:【qvm6】
ffmpeg_version.cmake 【百度云下载】,提取码:【bm61】
上面文件分别在下面两个压缩文件中,可以去仓库下载,这里我也给出自己下载的链接
ffmpeg相关:【百度云链接】,提取码:【fvy4】 ippicv相关:【百度云链接】,提取码:【2q72】
解决方法:可以参考这个博客【参考链接】
但是我需要说的是,我在配置过程中在编译ippicv_2017u3_win_intel64_general_20170822.zip时,无论我怎么弄始终没有成功,后来我就索性把 WITH_IPP 给勾选掉了,这才编译通过,当然这是权宜之计,尽量还是都配置。
3. 编译opencv_contrib-3.4.1
在OPENCV_EXTRA_MODULES_PATH 下将opencv_contrib-3.4.1路径加入进去,如下图:

编译这个的过程中,竟然没有出错,通常可能也会因为网速的原因而失败的。具体可能失败的文件及解决办法也可以参考上述那个博客!
4. Cmake最后一步
最后点击 “Generate” ,然后出现 Configuring done, 这时候我们就编译好了opencv-3.4.1 + opencv_contrib-3.4.1的源码了
5. opencv在vs2015下的配置
这里就不展开说了,网上有很多教程,一步一步照着来就好了
6. 测试程序
#include<opencv2\opencv.hpp>
using namespace cv;
int main()
{
Mat srcImage = imread("1.jpg");//图片必须添加到工程目录下
//也就是和main.cpp文件放在一个文件夹下!!!
imshow("srcImage", srcImage);
waitKey();
}
能正确打开一张图片,说明opencv编译和配置成功
win7 x64 +vs2015 + cmake3.10.3编译opencv-3.4.1+opencv_contrib-3.4.1源码,并进行配置的更多相关文章
- win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建
win10 + VS2010 + OpenCV2.4.10重编译OpenCV开发环境搭建 重编译的优点:能够调试的时候看OpenCV的源码. 重编译要得到的东西:Debug版本号和Release版本号 ...
- Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装
原文:Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装 Linux内核分析(一) 从本篇博文开始我将对linux内核进行学习和分析,整个过程必将十分艰辛,但我会坚持到底 ...
- (3.10)mysql基础深入——mysqld 服务器与客户端连接过程 源码分析【待写】
(3.10)mysql基础深入——mysqld 服务器与客户端连接过程 源码分析[待写]
- 单独编译和使用webrtc音频降噪模块(附完整源码+测试音频文件)
单独编译和使用webrtc音频增益模块(附完整源码+测试音频文件) 单独编译和使用webrtc音频回声消除模块(附完整源码+测试音频文件) webrtc的音频处理模块分为降噪ns,回音消除aec,回声 ...
- opencv探索之路(一):win10 X64+VS2015+opencv3.10安装教程
我的电脑64位Win10系统,现在利用VS2015安装opencv3.10.安装之路颇为艰辛,从一开始的VS2015的安装,到opencv的安装,都充满挑战,历经千辛万苦终于把opencv开发环境搭建 ...
- Windows 10 +VS2019 编译OpenCV 4.1.0
准备环境 安装cmake 官网 获取代码 github 下载拓展库opencv_contrib github 生成Sln cmake安装完后桌面会有一个快捷方式,可打开cmakeGUI,打开它. 第一 ...
- Win7下qt5.3.1+opencv2.4.9编译环境的搭建(好多 Opencv2.4.9源码分析的博客)
到官网下载qt-opensource-windows-x86-mingw482_opengl-5.3.1.exe文件,执行该文件,选择默认安装即可实现QT的安装(安装在C盘的根目录下),该文件封装 ...
- opencv第二课,使用cmake编译OpenCV,并添加opencv_contrib模块
一.下载安装cmake 想要在Windows平台下生成OpenCV的解决方案,我们需要一个名为cmake的开源软件,可以在camke的官网:http://www.cmake.org/上下载到 或者点击 ...
- Linux 下编译Android-VLC开源播放器详解(附源码下载)
这两天需要做音视频播放相关的东西,所以重新找了目前android下的解码库.Android自带的解码库支持不全,因此很多第三方播放器都是自带解码器,绝大部分都是使用FFMpeg作为解码库.我11年的时 ...
随机推荐
- 纯CSS下拉菜单(希望对有需要的小伙伴有所帮助)
效果截图(颜色有点丑,请无视): <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...
- MySQL:锁
根据加锁的范围,MySQL的锁可以分为全局锁,表级锁和行锁. 1. 全局锁 一般用于全局逻辑备份操作: 1.1 FTWRL MySQL提供了一个加全局读锁的方法.命令是:Flush tables wi ...
- 上下文无关的GMM-HMM声学模型
一.语音识别基本介绍 (一)统计语音识别的基本等式 X------声学特征向量序列,观测值 W------单词序列 W*------给定观测值下,概率最大的单词序列 应用贝叶斯理论等价于 进而得出统计 ...
- D3.js的一些基础部分 (v3版本)
最近公司有需求要做一些可视化的功能.之前一直都是用Echarts做的,但是Echarts难以满足我们的需求,经过多方请教,查找发现D3可以满足我们的需求.第一次接触到D3,发现这些图标的可交互性非常丰 ...
- 课程五(Sequence Models),第一 周(Recurrent Neural Networks) —— 1.Programming assignments:Building a recurrent neural network - step by step
Building your Recurrent Neural Network - Step by Step Welcome to Course 5's first assignment! In thi ...
- 使用git往gitee传数据时pull命令的使用
按‘i’进入编辑模式------->写入内容------>按Esc键退出-------->在左下角的冒号后面输入‘wq’,表示退出并保存
- Atom编辑器中安装Emmet插件失败的问题
今天使用Atom编辑器安装Emmet插件的时候,刚开始的时候报错: 报错内容如下: Installing “emmet@2.4.3” failed.Show output… Compiler tool ...
- Myeclipse--jBPM4.3插件
http://www.baidupcs.com/file/c7f3b8fc57b056567b37d081b1bcd21e?xcode=3966699596a0e8ec88581bd8407457f9 ...
- Spring Boot + Spring Cloud 构建微服务系统(八):分布式链路追踪(Sleuth、Zipkin)
技术背景 在微服务架构中,随着业务发展,系统拆分导致系统调用链路愈发复杂,一个看似简单的前端请求可能最终需要调用很多次后端服务才能完成,那么当整个请求出现问题时,我们很难得知到底是哪个服务出了问题导致 ...
- LearnOpenGL学习笔记(四)——着色器类编写
之前我们将着色器的代码用glsl写好之后,保存为字符串指针,然后用一个函数去编译它,这是一种手段,对于简单的着色器代码可以这样.但当我们针对复杂的着色器,我们发现编写.编译.管理着色器是一件麻烦事.我 ...