Window10 VS2013 安装 OpenCV3.1.0

windows10 vs2013 OpenCV3.1.0 cmake

Cmake

Cmake官网,下载对应版本的Cmake
Window10 VS2013 安装 OpenCV3.1.0_第1张图片
下载后解压可得到如下文件:
Window10 VS2013 安装 OpenCV3.1.0_第2张图片
然后把Cmake路径下的bin文件夹路径添加到电脑环境变量中,即可使用Cmake

OpenCV

  • 源码安装:Sources
  • 安装包安装:安装包下载

这里我们使用源码安装的方式,下载对应的OpenCV3.1.0 Sources文件
Window10 VS2013 安装 OpenCV3.1.0_第3张图片
将下载后的OpenCV压缩包解压,可以看如下文件目录:
Window10 VS2013 安装 OpenCV3.1.0_第4张图片
然后我们就需要开始编译OpenCV,打开cmd,然后输入 cmake-gui 然后回车就可以直接打开Cmake了,然后我们就需要进行如下配置:
Window10 VS2013 安装 OpenCV3.1.0_第5张图片
如上图步骤:

1)首先选择source code的路径,就是上面的opencv-3.1.0/opencv-3.1.0

2)手动在opencv-3.1.0里面建一个名字为 build 的文件夹,把 build 文件夹的路径加到这步

3)点击 Configue

4)就会弹出一个选择编译器的界面,选择自己对应的VS版本就行了。

5)点击Finish

在编译的过程中ffmpeg,以及ippicv下载失败,然后我们可以手动下载并放到对应的文件夹中即可:

  • 离线下载 ffmpeg

首先我们进入到ffmpeg的下载目录中看
Window10 VS2013 安装 OpenCV3.1.0_第6张图片Window10 VS2013 安装 OpenCV3.1.0_第7张图片
其中两个文件夹分别下载了文件:opencv_ffmpeg_64.dllffmpeg_version.cmake ,但未完全下载

然后我们通过用记事本打开 ~\opencv-3.1.0\3rdparty\ffmpeg\ffmpeg.cmake 文件,如下:

# Binary branch name: ffmpeg/master_20150703
# Binaries were created for OpenCV: e379ea6ed60b0caad4d4e3eea096e9d850cb8c86
set(FFMPEG_BINARIES_COMMIT "8aeefc4efe3215de89d8c7e114ae6f7a6091b8eb")
set(FFMPEG_FILE_HASH_BIN32 "89c783eee1c47bfc733f08334ec2e31c")
set(FFMPEG_FILE_HASH_BIN64 "35fe6ccdda6d7a04e9056b0d73b98e76")
set(FFMPEG_FILE_HASH_CMAKE "8606f947a780071f8fcce8cbf39ceef5")

set(FFMPEG_DOWNLOAD_URL ${OPENCV_FFMPEG_URL};$ENV{OPENCV_FFMPEG_URL};https://raw.githubusercontent.com/Itseez/opencv_3rdparty/${FFMPEG_BINARIES_COMMIT}/ffmpeg/)

ocv_download(PACKAGE opencv_ffmpeg.dll
             HASH ${FFMPEG_FILE_HASH_BIN32}
             URL ${FFMPEG_DOWNLOAD_URL}
             DESTINATION_DIR ${CMAKE_CURRENT_LIST_DIR})

ocv_download(PACKAGE opencv_ffmpeg_64.dll
             HASH ${FFMPEG_FILE_HASH_BIN64}
             URL ${FFMPEG_DOWNLOAD_URL}
             DESTINATION_DIR ${CMAKE_CURRENT_LIST_DIR})

ocv_download(PACKAGE ffmpeg_version.cmake
             HASH ${FFMPEG_FILE_HASH_CMAKE}
             URL ${FFMPEG_DOWNLOAD_URL}
             DESTINATION_DIR ${CMAKE_CURRENT_LIST_DIR})

include(${CMAKE_CURRENT_LIST_DIR}/ffmpeg_version.cmake)

即可查看到我们的下载链接,https://raw.githubusercontent.com/Itseez/opencv_3rdparty/${FFMPEG_BINARIES_COMMIT}/ffmpeg/ 其中${FFMPEG_BINARIES_COMMIT}8aeefc4efe3215de89d8c7e114ae6f7a6091b8eb 替换,然后组合即可得到我们的 opencv_ffmpeg.dll 下载链接:

https://raw.githubusercontent.com/Itseez/opencv_3rdparty/8aeefc4efe3215de89d8c7e114ae6f7a6091b8eb/ffmpeg/opencv_ffmpeg.dll 

同理我们也可以得到我们的另一个 opencv_ffmpeg_64.dll 的下载链接:

# 注意这里同样要替换 ${FFMPEG_FILE_HASH_BIN64}
https://raw.githubusercontent.com/Itseez/opencv_3rdparty/35fe6ccdda6d7a04e9056b0d73b98e76/ffmpeg/opencv_ffmpeg_64.dll

然后分别放入两个文件夹,替换掉源文件,然后重新使用Cmake Configure一下,即可发现现在已经成功下载 ffmpeg 了。

  • 离线下载 ippicv

同样按照上面的方法,进入得到目录 ~\opencv-3.1.0\3rdparty\ippicv\ ,打开downloader.cmake 查看相应的下载链接,并替换相应的MD5变量,加上 \opencv-3.1.0\3rdparty\ippicv\downloads\windows-04e81ce5d0e329c3fbc606ae32cad44d 中的文件名 即 ippicv_windows_20151201.zip ,即可得到我们需要的下载链接

https://raw.githubusercontent.com/Itseez/opencv_3rdparty/81a676001ca8075ada498583e4166079e5744668/ippicv/ippicv_windows_20151201.zip

下载后,替换掉源文件,然后重新使用Cmake Configure一下,然后就会得到下面的界面:
Window10 VS2013 安装 OpenCV3.1.0_第8张图片
这里根据自己的需求勾选自己需要的选项或者消去自己不需要的选项就可以了,选择完成后点击 Configure 旁边的 Generate ,这个过程很快,最后会得到:
Window10 VS2013 安装 OpenCV3.1.0_第9张图片
得到如上图片,则说明我们的OpenCV主体部分已经配置成功!

opencv_contrib

下载并解压:opencv_contrib 如果不需要该第三方库,可以跳过该步骤。

Configure之后,然后在Cmake中加入该第三方库,找到 OPENCV_EXTRA_MODULES_PATH 然后将你的opencv_contrib-master 文件夹下的 modules 加入路径当中,然后再Generate即可。

VS编译OpenCV

打开OpenCV的build文件夹,可以看到已经生成了很多的文件,选中其中的OpenCV.sln,用VS打开这个工程文件:
Window10 VS2013 安装 OpenCV3.1.0_第10张图片

  • 编译Debug版本的OpenCV

    1)首先选择 Debug x64 的平台

    2)选择右边的 ALL_BUILD ,右键,选择 生成 或者 重新生成 然后静静等待就可以了

    3)最后会全部成功生成,编译成功入下图:(这里放的是之前已经编译好了的图片)
    Window10 VS2013 安装 OpenCV3.1.0_第11张图片

  • 编译Release版本的OpenCV

步骤同上,只是将Debug变成Release,然后右键生成ALL_BUILD:
Window10 VS2013 安装 OpenCV3.1.0_第12张图片

  • 生成结果

    可以看到build文件夹下的lib里面会有两个子文件夹:
    Window10 VS2013 安装 OpenCV3.1.0_第13张图片

    • Install

我们通过源码安装的时候,此时安装的 E:\3software\program\opencv-3.1.0\include\opencv2 目录下只有一个opencv.hpp 文件,需要我们再使用visual studio INSTALL一下:
Window10 VS2013 安装 OpenCV3.1.0_第14张图片
右键选择生成,你可以Debug 和 Release版本都生成一下,生成之后,你就可以看到如下结果:
Window10 VS2013 安装 OpenCV3.1.0_第15张图片

测试OpenCV

下面是一段测试代码:

#include 
#include 
#include 
#include 
#include 
using namespace cv;
int main()
{
	Mat img = imread("E:/my_dream.png");
	namedWindow("image", CV_WINDOW_AUTOSIZE);
	imshow("image", img);
	waitKey();
	return 0;
}

将相应的openCV路径包括依赖库添加到工程目录中:

  • VC++目录–>包含目录,添加:
E:\3software\program\opencv-3.1.0\include
E:\3software\program\opencv-3.1.0\include\opencv
E:\3software\program\opencv-3.1.0\include\opencv2
  • VC++目录–>库目录,添加:
E:\3software\program\opencv-3.1.0\build\install\x64\vc12\lib
E:\3software\program\opencv-3.1.0\build\install\x64\vc12\staticlib
  • 链接器–>输入–>附加依赖项,添加: (下面添加的release的版本,注意添加的库与编译选项要一致,需要注意debug比release的文件名多了个d)
opencv_core310.lib
opencv_highgui310.lib
opencv_imgcodecs310.lib
opencv_imgproc310.lib
ippicvmt.lib

编译好开始执行即可:

由于找不到opencv_core310.dll,无法继续执行代码。重新安装程序可能会解决此问题。

解决该问题只需要将 E:\3software\program\opencv-3.1.0\build\install\x64\vc12\bin 目录下对应需要的 .dll 文件拷贝到 C:\Windows\System32 目录即可。

Reference

  • https://blog.csdn.net/Chris_zhangrx/article/details/79090463
  • VS对应版本支持情况
  • https://blog.csdn.net/icbm/article/details/54020711
  • https://blog.csdn.net/zhuxukang/article/details/79614335
  • https://www.bbsmax.com/A/xl56EBj7Jr/
  • https://software.intel.com/en-us/forums/intel-media-sdk/topic/622296

你可能感兴趣的:(学习笔记,技巧)