手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)

1:首先下载OpenCV3.3.0的源码:



2:解压源码包opencv-3.3.0.zip,【点击"解压当前文件夹"】:,为了以下方便说明,这里以F:\opencv-3.3.0为例:


查看源码包,在文件夹下3rdparty【就是需要的第三方的库】,但是第三方库 ffmpeg 和 ippicv是空的,

手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第1张图片

在用cmake配置编译时,有些需要联网下载,并保存在源但是往往会下载很慢,所以可以提前下载好,放进对应的文件夹即可,这个对应的文件夹是源码文件夹下的.cache文件夹,需要新建,即在F:\opencv-3.3.0下新建.cache文件夹,注意不要鼠标右键新建文件夹,建立不了前缀名是"."的文件夹,需要用命令行,> md .cache


即可新建。


然后在.cache文件夹下,新建ffmpeg和ippicv文件夹。以下详细介绍下载动态库。


3:下载对应的ffmpeg的动态库:

打开文件夹ffmpeg下的ffmpeg.cmake文件,会看到有一个第一行,我们需要下载master_20170704


打开https://github.com/opencv/opencv_3rdparty/branches/all,找到对应的名字:

手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第2张图片

然后下载,解压后,将以下三个文件复制到F:\OpenCV-3.3.0/.cache/ffmpeg文件夹下:

手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第3张图片

同时将这三个复制到源码的文件夹F:\opencv-3.3.0\3rdparty\ffmpeg下,只是为了后期配置编译的更快。

4:下载ippicv

与上述步骤类似,打开\opencv-3.3.0\3rdparty\ippicv\ippicv.cmake文件:

手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第4张图片

需要下载后缀是20170418的包,解压后,会看到看到几个不同平台下的压缩包:

手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第5张图片

比如这里需要编译x86版本的,将ippicv_2017u2_win_ia32_20170418.zip复制到到F:\opencv-3.3.0\.cache\ippicv文件夹下,然后注意要重命名,加上改.zip的hash码,那么怎么查看该.zip的hash码呢?同样打开\opencv-3.3.0\3rdparty\ippicv\ippicv.cmake文件,

手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第6张图片

ippicv_2017u2_win_ia32_20170418.zip的文件名字,改为以下,即在前面加上它对应的HASH码:

手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第7张图片

这样点.cache文件夹下的两个文件夹都已经完成了。


5:电脑上需要安装Python3.X否则会有以下提示:

再编译过程需要python3.X版本

6:打开cmake

手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第8张图片
即以以下为例:

手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第9张图片
为了快速编译将源码包中的文件夹3rdparty整个复制到F:\OpenCV3.3Build文件夹下,
然后点击“Configure”按钮:
手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第10张图片
等一两分钟后,等待配置完成:
手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第11张图片
手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第12张图片

然后再点击"Configure"按钮

手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第13张图片

点击“Generate”,

手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第14张图片

可以关闭'CMake"。

7:打开编译后的文件夹F:\OpenCV3.3Build

手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第15张图片
打开OpenCV.sln,然后点击Build Solution:手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第16张图片

需要等待几分钟:
手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第17张图片
最后会出现以下界面
手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第18张图片
,这个时候x86版的Debug版本已经编译成功,生成的动态库、共享库、可执行文件在文件夹F:\OpenCV3.3Build\bin\Debug下
手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第19张图片
打开该文件夹查看生成的动态库
手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第20张图片

第8步:点击"INSTALL"->Project Only Build Only INSTALL

手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第21张图片
然后在F:\OpenCV3.3Build下自动生成一个install文件夹,文件夹下保存了OpenCV的头文件和x86 Debug模式下的
动态库和共享库
手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第22张图片
打开x86文件夹,
手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第23张图片
打开vc14文件夹

lib文件夹:
手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第24张图片
可以看到有一个是opencv_dnn330d.lib即深度学习的共享库

9:编译x86的release版本
手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第25张图片
点击Build->Build Solution,通以上编译Debug版本类似,需要等待几分钟,。

手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第26张图片
然后,这时查看F:\OpenCV3.3Build\bin下的Release文件夹下已经生成好动态库
手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第27张图片
同样点击:
手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第28张图片
等几秒钟
手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第29张图片
然后查看F:\OpenCV3.3Build\install\x86\vc14\lib多了一些文件名不带"d"的共性库文件
手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本)_第30张图片
10:测试使用
#include
#include
#include
#include
#include
using namespace cv;
using namespace std;
int main(int argc,char*argv[])
{
	Mat img = cv::imread(argv[1], cv::IMREAD_COLOR);
	imshow("as", img);
	waitKey(0);
	return 0;
}

亲测可用
11:为了方便将其提交到http://download.csdn.net/download/wxcdzhangping/9990091,可下载使用

你可能感兴趣的:(手把手练习--cmake+VS2015编译OpenCV3.3源码(x86版本))