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年的时 ...
随机推荐
- python 使用多进程实现并发编程/使用queue进行进程间数据交换
import time import os import multiprocessing from multiprocessing import Queue, pool ""&qu ...
- 解决“UnicodeEncodeError: 'gbk' codec can't encode character u'\xa9' in position 24051: illegal multibyte sequence”错误
今天我在爬取一个网页时出现了下面这个错误: UnicodeEncodeError: 'gbk' codec can't encode character u'\xa9' in position 240 ...
- jsp和servlet的关系
JSP是Servlet技术的扩展,本质上就是Servlet的简易方式.JSP编译后是“类servlet”. Servlet和JSP最主要的不同点在于:Servlet的应用逻辑是在Java文件中,并且完 ...
- 如何在Mac下配置Github和Bitbucket的SSH
--- title: 如何在Mac下配置Github和Bitbucket的SSH date: 2017-12-23 21:10:30 tags: - Mac - Git - Github catego ...
- redis3.0集群部署和测试
redis3.0集群部署和测试 环境介绍 两台Centos7的虚拟机模拟6个节点,A台3个master节点,B台3个slave节点A地址:172.16.81.140B地址:172.16.81.141r ...
- xlwt set style making error: More than 4094 XFs (styles)
使用Xlwt,当内容过多时,会报错:More than 4094 XFs (styles) 解决方法: wb = xlwt.Workbook(style_compression=2) 使用style_ ...
- CSS 基础:定位元素(3)<思维导图>
这段时间利用一下间隙时间学习了CSS的基础知识,主要目的是加深对CSS的理解,虽然个人主要工作基本都是后台开发,但是个人觉得系统学习一下CSS的基础还是很有必要的.下面我学习CSS时做的思维导图(全屏 ...
- GAN笔记——理论与实现
GAN这一概念是由Ian Goodfellow于2014年提出,并迅速成为了非常火热的研究话题,GAN的变种更是有上千种,深度学习先驱之一的Yann LeCun就曾说,"GAN及其变种是数十 ...
- eclipse配置ant开发环境,一键部署项目
ANT出现之前,编译和部署Java应用需要使用包括特定平台的脚本.Make文件.不同的IDE以及手工操作等组成的大杂烩.现在,几乎所有的开源Java项目都在使用Ant,许多公司的开发项目也在使用Ant ...
- leetcode — remove-element
/** * Source : https://oj.leetcode.com/problems/remove-element/ * * Created by lverpeng on 2017/7/12 ...