本篇博客主要介紹OpenCV 3.4在Visual Studio 2013中的配置。
安裝CMake
- 點擊鏈接前往官網下載CMake,CMake官網;
- 解壓之後,打開bin目錄下的cmake-gui.exe即可;
- 效果如下:
OpenCV 3.4.0編譯
- 首先,我們去官網下載源碼,OpenCV下載鏈接;
- 我們也來下載一下OpenCV 3.4.0,解壓下載的源碼;
- 然後我們創建一個build目錄,即重新編譯後的目錄,opencv3.4.0-vs2013-x86;
- 我們打開CMake,選擇源目錄和目標目錄;
- 我們點擊Configure按鈕,會出現如下界面,我們選擇Visual Studio 12 2013,最後點擊Finish按鈕;
- 我們將WITH_CUDA選項取消,然後再點擊Configure;
- 最後我們看到Configuring done即表示完成配置成功;
- 我們點擊Generate,生成OpenCV解決方案,當出現Generating done的提示,即表明解決方案生成成功;
- 點擊Open Project,此時CMake會自行啓動Visual Studio 2013,打開上述生成的解決方案;
- 我們先將解決方案修改爲Debug模式,然後右擊ALL_BUILD,選擇生成。生成成功後,右擊INSTALL,選擇生成,會在opencv3.4.0-vs2013-x86目錄中生成install目錄,裏面就是我們需要的;
- Release模式步驟與Debug模式一樣,首先將解決方案修改爲Release,其他步驟一樣;
- 至此,OpenCV 3.4.0對應的Visual Studio 2013版本就編譯完成。
配置與使用
- 我們在使用之前需要先配置環境變量。將bin目錄添加到系統環境變量path中,這裏我的目錄爲:
D:\Tools\OpenCV\opencv3.4.0-vs2013-x86\install\x86\vc12\bin
。
項目配置
- 我們先來創建一個新的項目,如下:
- 然後我們點擊一下項目,選擇TestOpenCV屬性,點擊配置屬性,選擇VC++目錄,添加一下包含目錄和庫目錄;
- 最後,我們同樣是在屬性頁配置一下附加依賴庫。將
D:\Tools\OpenCV\opencv3.4.0-vs2013-x86\install\x86\vc12\lib
目錄下的以.lib
結尾的庫添加到附加依賴項,注意不是全部添加,Debug模式下添加所有*d.lib
庫,Release模式下添加所有*.lib
庫。
簡單使用
前面已經完成了OpenCV的簡單配置,下面我們來寫一個簡單的代碼驗證一下:
#include <opencv2/opencv.hpp>
#include <string>
#include <iostream>
#include <stdlib.h>
int main() {
const char* imgName = "C:\\Users\\叄拾叄畫生\\Desktop\\測試圖片\\haha.JPG";
cv::Mat img = cv::imread(imgName);
if (img.empty()) {
std::cout << "Image Load Failed!\n";
system("pause");
return -1;
}
cv::imshow("image", img);
cv::waitKey();
return 0;
}
附錄
Debug模式附加依賴項:
opencv_calib3d340d.lib
opencv_core340d.lib
opencv_dnn340d.lib
opencv_features2d340d.lib
opencv_flann340d.lib
opencv_highgui340d.lib
opencv_imgcodecs340d.lib
opencv_imgproc340d.lib
opencv_ml340d.lib
opencv_objdetect340d.lib
opencv_photo340d.lib
opencv_shape340d.lib
opencv_stitching340d.lib
opencv_superres340d.lib
opencv_video340d.lib
opencv_videoio340d.lib
opencv_videostab340d.lib
Release模式附加依賴項:
opencv_calib3d340.lib
opencv_core340.lib
opencv_dnn340.lib
opencv_features2d340.lib
opencv_flann340.lib
opencv_highgui340.lib
opencv_imgcodecs340.lib
opencv_imgproc340.lib
opencv_ml340.lib
opencv_objdetect340.lib
opencv_photo340.lib
opencv_shape340.lib
opencv_stitching340.lib
opencv_superres340.lib
opencv_video340.lib
opencv_videoio340.lib
opencv_videostab340.lib