opencv 3.4.0+opencv_contrib+CMake+VS 2017+Win10
opencv 3.4.0+opencv_contrib+CMake+VS 2013+Win10
文章目錄
1.下載
opencv 3.4.0:https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.4.0/opencv-3.4.0-vc14_vc15.exe/download
opencv_contrib 3.4.0:
CMake(.msi安裝包):https://cmake.org/download/
opencv3.4以上應該必須用VS2015以上才行,本人用2013頻頻報錯,用2017沒問題
2.編譯
①opencv 3.4.0解壓在無中文路徑下
②opencv_contrib解壓在opencv/sources/modules下
③安裝CMake,安裝過程把新增Path到環境變數勾上
④執行CMake自行build opencv,注意CMake的路徑和資源管理器的路徑格式(斜槓)不同
⑤點選Configure,根據VS版本和系統位數進行選擇
這一步配置過程可能出現很多問題,其中會訪問外網下載幾個檔案,網速慢或沒VPN的話則會報錯,不要擔心。
解決辦法如下:
根據報錯提示在資源管理器搜尋那檔案→百度下載該檔案→改成搜尋到的檔案同名覆蓋→重新Configure
第一次Configure呈紅色,再Configure一次變成白色就好
⑥配置OPENCV_EXTRA_MODULES_PATH成opencv_contrib的modules資料夾後點Generate
⑦點Open Project或開啟newbuild中的OpenCV.sln
或
⑧右鍵解決方案→重新生成解決方案
⑦右鍵INSTALL→僅用於專案→僅生成INSTALL
3.配置
①新建空專案
②開啟屬性管理器
③右鍵Debug | x64→Microsoft.Cpp.x64.user→屬性
④可執行目錄
\newbuild\install\x64\vc15\bin
⑤包含目錄
\newbuild\install\include
\newbuild\install\include\opencv
\newbuild\install\include\opencv2
⑥庫目錄
\newbuild\install\x64\vc15\lib
⑦附加依賴項
opencv_aruco340d.lib
opencv_bgsegm340d.lib
opencv_bioinspired340d.lib
opencv_calib3d340d.lib
opencv_ccalib340d.lib
opencv_core340d.lib
opencv_datasets340d.lib
opencv_dnn340d.lib
opencv_dpm340d.lib
opencv_face340d.lib
opencv_features2d340d.lib
opencv_flann340d.lib
opencv_fuzzy340d.lib
opencv_highgui340d.lib
opencv_img_hash340d.lib
opencv_imgcodecs340d.lib
opencv_imgproc340d.lib
opencv_line_descriptor340d.lib
opencv_ml340d.lib
opencv_objdetect340d.lib
opencv_optflow340d.lib
opencv_phase_unwrapping340d.lib
opencv_photo340d.lib
opencv_plot340d.lib
opencv_reg340d.lib
opencv_rgbd340d.lib
opencv_saliency340d.lib
opencv_shape340d.lib
opencv_stereo340d.lib
opencv_stitching340d.lib
opencv_structured_light340d.lib
opencv_superres340d.lib
opencv_surface_matching340d.lib
opencv_text340d.lib
opencv_tracking340d.lib
opencv_video340d.lib
opencv_videoio340d.lib
opencv_videostab340d.lib
opencv_xfeatures2d340d.lib
opencv_ximgproc340d.lib
opencv_xobjdetect340d.lib
opencv_xphoto340d.lib
⑧環境變數
\newbuild\install\x64\vc15\bin
PS:執行專案時要將Debug解決方案平臺調為x64(沒有的話就在配置管理器中新建)
4.測試
#include <stdio.h>
#include <iostream>
#include "opencv2/xfeatures2d.hpp"
#include "opencv2/highgui.hpp"
using namespace cv;
using namespace cv::xfeatures2d;
using namespace std;
int main()
{
Mat img = imread("JUST SMASH.jpg");
Mat gray = imread("JUST SMASH.jpg", IMREAD_GRAYSCALE);
if (img.empty())
{
printf("could not load image...\n");
return -1;
}
namedWindow("原圖", CV_WINDOW_AUTOSIZE);
imshow("原圖", img);
int minHessian = 400;
Ptr<SURF> detector = SURF::create(minHessian);
vector<KeyPoint> keypoints;
detector->detect(gray, keypoints);
Mat img_keypoints;
drawKeypoints(gray, keypoints, img_keypoints, Scalar::all(-1), DrawMatchesFlags::DEFAULT);
namedWindow("效果", CV_WINDOW_AUTOSIZE);
imshow("效果", img_keypoints);
waitKey(0);
return 0;
}
5.參考
1.OpenCV學習筆記(六)——配置擴充套件模組 - 行歌 - CSDN部落格 https://blog.csdn.net/weixin_41695564/article/details/79925379#commentBox
2.OpenCV contrib 3.2.0擴充套件模組新增與編譯(VS2017+OpenCV3.2.0)詳解與排坑 - weixin_37800680的部落格 - CSDN部落格 https://blog.csdn.net/weixin_37800680/article/details/72566294