VS2013+OpenCV3.4.2編譯


一、准備工作:

(1)在OpenCV官網下載3.4.2版本(注意選擇Win pack),https://opencv.org/releases.html。

 

(2)下載Contrib模塊,https://github.com/opencv/opencv_contrib/releases/tag/3.4.2(記住opencv是什么版本,contrib就下什么版本,必須對應否則編譯會出問題)

(3)下載CMake,下載后直接安裝即可。https://cmake.org/download/

 

二、編譯生成

下載的OpenCV是一個exe格式的文件,點擊以后解壓到你自己指定的目錄即可,解壓出來的文件包含一個source目錄和一個build目錄,實際上build目錄就是已經編譯好的可以使用的包了,但是不包含contrib模塊,而且是64位的,

下面我們開始編譯完整的32位版本。

(1)打開Ccmake-gui.exe

(2)點擊Browse Source選擇你解壓出來的OpenCV Source目錄,點擊Browse Build選擇一個目錄用來存放生成的工程文件(自己創建一個目錄),

 

 

(3)點擊Configure,選擇VS 2013,然后點擊Finsh,然后CMake開始生成工程,注意此過程會從網上下載ffmpeg和ippicv兩個庫,所以需要聯網。

(4)編譯選擇:

1.如果你想編譯成靜態庫,那么把BUILD_SHARED_LIBS的鈎去掉,這樣就不用每次發布程序都帶一堆動態庫。

2.如果你想減少庫文件,可以勾選BUILD_opencv_world,這樣很多庫會集成到opencv_world342.lib,那么你每次新建工程就不需要填寫一大堆庫鏈接了,但是可能也會把很多沒用到的庫包含進來

增加程序體積,所以我沒有勾選,還是保持原來的。

 

3.如果你已經下載了contrib模塊,解壓模塊,然后設置OPENCV_EXTRA_MODULES_PATH指向contrib的modules目錄。如果你沒下載這個模塊,就不用做這一步了,工程照樣能夠正常編譯。

 

(5)開始生成

選擇完畢再次點擊configure按鈕,執行完畢還有紅字則繼續點擊configure直到全部變成白色,然后點擊Generate。

看到Configuring done、Generating done就表示已經搞定了。

 

(6)編譯工程

進入你創建的Build目錄,用vs打開OpenCV.sln工程,找到INSTALL然后點擊生成,編譯的時候把360殺毒和什么安全衛士之類的關閉,我因為打開導致cmake出錯,關閉后就完全正常了,接着等待編譯完成就OK了。編譯完成后切換到Release模式再次編譯。

 

(7)測試

1.用VS2013創建一個控制台程序,點擊工程名右鍵-屬性-配置屬性-VC++目錄,

打開包含目錄,添加include,include/opencv,include/opencv2三個目錄

 

2.添加庫目錄:install\x86\vc12\staticlib

 

3.點擊配置屬性-鏈接器-輸入,選擇附加依賴項,添加需要的庫文件。DEBUG模式的都是*d.lib,RELEASE的是*.lib,根據自己項目引用到的模塊來添加,我這里

需要添加的庫有:

 ippicvmt.lib
IlmImfd.lib
ippiwd.lib
ittnotifyd.lib
libjasperd.lib
libtiffd.lib
libwebpd.lib
libjpeg-turbod.lib
libpngd.lib
opencv_core342d.lib
opencv_highgui342d.lib
opencv_imgcodecs342d.lib
opencv_imgproc342d.lib
zlibd.lib

 

4.編寫代碼

 1 #include "stdafx.h"
 2 #include <opencv2/opencv.hpp>
 3 #include <opencv2/highgui.hpp>
 4 
 5 using namespace cv;
 6 
 7 int _tmain(int argc, _TCHAR* argv[])
 8 {
 9     Mat mat;
10     mat = imread("home.jpg",CV_LOAD_IMAGE_UNCHANGED);
11     if (mat.empty())
12         return -1;
13     imshow("MyWindow", mat);
14     waitKey(0);
15     destroyWindow("MyWindow");
16     return 0;
17 }
View Code

 


5.運行程序

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM