Window10 VS2013 安裝 OpenCV3.1.0

windows10 vs2013 OpenCV3.1.0 cmake

Cmake

Cmake官網,下載對應版本的Cmake
在這裏插入圖片描述
下載後解壓可得到如下文件:
在這裏插入圖片描述
然後把Cmake路徑下的bin文件夾路徑添加到電腦環境變量中,即可使用Cmake

OpenCV

這裏我們使用源碼安裝的方式,下載對應的OpenCV3.1.0 Sources文件
在這裏插入圖片描述
將下載後的OpenCV壓縮包解壓,可以看如下文件目錄:
在這裏插入圖片描述
然後我們就需要開始編譯OpenCV,打開cmd,然後輸入 cmake-gui 然後回車就可以直接打開Cmake了,然後我們就需要進行如下配置:
在這裏插入圖片描述
如上圖步驟:

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的下載目錄中看
在這裏插入圖片描述在這裏插入圖片描述
其中兩個文件夾分別下載了文件: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一下,然後就會得到下面的界面:
在這裏插入圖片描述
這裏根據自己的需求勾選自己需要的選項或者消去自己不需要的選項就可以了,選擇完成後點擊 Configure 旁邊的 Generate ,這個過程很快,最後會得到:
在這裏插入圖片描述
得到如上圖片,則說明我們的OpenCV主體部分已經配置成功!

opencv_contrib

下載並解壓:opencv_contrib 如果不需要該第三方庫,可以跳過該步驟。

Configure之後,然後在Cmake中加入該第三方庫,找到 OPENCV_EXTRA_MODULES_PATH 然後將你的opencv_contrib-master 文件夾下的 modules 加入路徑當中,然後再Generate即可。

VS編譯OpenCV

打開OpenCV的build文件夾,可以看到已經生成了很多的文件,選中其中的OpenCV.sln,用VS打開這個工程文件:
在這裏插入圖片描述

  • 編譯Debug版本的OpenCV

    1)首先選擇 Debug x64 的平臺

    2)選擇右邊的 ALL_BUILD ,右鍵,選擇 生成 或者 重新生成 然後靜靜等待就可以了

    3)最後會全部成功生成,編譯成功入下圖:(這裏放的是之前已經編譯好了的圖片)
    在這裏插入圖片描述

  • 編譯Release版本的OpenCV

步驟同上,只是將Debug變成Release,然後右鍵生成ALL_BUILD:
在這裏插入圖片描述

  • 生成結果

    可以看到build文件夾下的lib裏面會有兩個子文件夾:
    在這裏插入圖片描述

    • Install

我們通過源碼安裝的時候,此時安裝的 E:\3software\program\opencv-3.1.0\include\opencv2 目錄下只有一個opencv.hpp 文件,需要我們再使用visual studio INSTALL一下:
在這裏插入圖片描述
右鍵選擇生成,你可以Debug 和 Release版本都生成一下,生成之後,你就可以看到如下結果:
在這裏插入圖片描述

測試OpenCV

下面是一段測試代碼:

#include <iostream>
#include <opencv2\core\core.hpp>
#include <opencv2\imgproc.hpp>
#include <opencv2\imgcodecs.hpp>
#include <opencv2\highgui\highgui.hpp>
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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章