原博客搬移到:https://blog.csdn.net/u013171226/article/details/107680298
一。cmake配置
1.安裝cmake
首先下載CMake,官網下載地址:https://cmake.org/download/
2.下載opemcv,opencvcontrib.
鏈接:https://pan.baidu.com/s/10GB07ODQLiP1nhoQePmv8A
提取碼:dws7
其中材料文件夾為下載的一些擴展文件,后面會用到。
3.打開cmake,然后選擇opencv的源文件路徑以及build文件夾路徑
4.然后在search欄輸入opencv_extra_modules ,然后路徑改成contrib解壓包中的modules的位置
5.搜索with_cuda,然后把選項后面的對勾去掉。
6.打開opencv-3.4.1\.cache文件夾,然后把上面下載的材料文件夾里面的東西復制到cache相應的文件夾下進行替換。
復制的時候,vgg和boost放到xfeature里面,face里面的東西復制到data里面替換,其他的幾根文件夾根據名字對應。
7.把world選上,這樣所有的庫都編譯成一個庫,
8.然后點擊configure
然后可能會出現下面的錯誤,
錯誤一:OpenCV does not recognize MSVC_VERSION 1924
找到對應的文件,然后修改,
if(MSVC_VERSION EQUAL 1400) set(OpenCV_RUNTIME vc8) elseif(MSVC_VERSION EQUAL 1500) set(OpenCV_RUNTIME vc9) elseif(MSVC_VERSION EQUAL 1600) set(OpenCV_RUNTIME vc10) elseif(MSVC_VERSION EQUAL 1700) set(OpenCV_RUNTIME vc11) elseif(MSVC_VERSION EQUAL 1800) set(OpenCV_RUNTIME vc12) elseif(MSVC_VERSION EQUAL 1900) set(OpenCV_RUNTIME vc14) #添加這兩行,1922是錯誤提示的vs版本,vc16是對應的工具 elseif(MSVC_VERSION EQUAL 1910) set(OpenCV_RUNTIME vc15) elseif(MSVC_VERSION EQUAL 1924) set(OpenCV_RUNTIME vc16) elseif(MSVC_VERSION MATCHES "^191[0-9]$") set(OpenCV_RUNTIME vc15)
9.然后點擊generate
10.然后點擊open project,則會打開visual studio進行編譯
二。visual studio編譯
1.注意,如果你這里編譯opencv的時候,解決方案選擇的是debug,X64,不要選擇release模式,
2.解決方案里面選擇ALL_BUILD,然后右鍵,選擇生成,開始編譯,大概半個小時到一個小時
3.安裝
單擊INSTALL, 右鍵,選擇“設為啟動項目”
然后生成。所有文件被安裝到install文件里面
三,配置環境變量與visual studio環境
打開我的電腦,屬性,高級系統配置,環境變量,然后把xxxx\build\install\x64\vc16\bin添加上
然后把visual studio的頭文件包含路徑添加上,庫文件路徑添加上
然后鏈接器的輸入那里把opencv_world341.lib opencv_img_hash341.lib這兩個庫添加上,如果創建的visual studio工程是debug模式,那么這里要把opencv_world341d.lib opencv_img_hash341d.lib