淺談VSCode中怎么搭建和配置opencv環境

vscode中怎么搭建和配置opencv環境?下面本篇文章給大家介紹一下vscode中搭建和配置opencv環境的方法,希望對需要的朋友有所幫助!

淺談VSCode中怎么搭建和配置opencv環境

前段時間我想學習opencv,由于我一直都習慣于用vscode來編寫代碼,所以還是決定用vscode來搭建opencv環境。我查閱過許多文章搭建環境,而后選擇了一篇文章的方法,該文章確實詳細,但我覺得還是有一些細節沒能說清楚,我后來借助了其它一篇文章的一個步驟才成功把環境搭建完成。因此決定結合這篇文章及自身體驗來說一下opencv的環境搭建步驟。

【推薦學習:《vscode》】

資源下載

MinGW-w64離線包下載地址: https://sourceforge.net/projects/mingw-w64/files/.
在線包下載會很慢,所以可以直接下載離線包。

淺談VSCode中怎么搭建和配置opencv環境

CMake下載地址:https://cmake.org/download/

CMake要選擇二進制文件,即Binary distributions欄目。選擇對應自己電腦的文件下載

淺談VSCode中怎么搭建和配置opencv環境
opencv庫: https://sourceforge.net/projects/opencvlibrary/.

軟件安裝與配置環境變量

安裝?

MinGW-w64與CMake都不用安裝,只需要解壓到存放的自選路徑(類似于安裝路徑)即可

配置環境變量

找到下圖的MinGW-w64文件夾位置:

淺談VSCode中怎么搭建和配置opencv環境

添加該路徑到環境變量,如我配置:F:MINGW64mingw64in。

添加環境變量方法:右鍵我的電腦–>高級系統設置–>環境變量–>選擇在用戶變量和系統變量都可以,雙擊path添加路徑–>確定即可

淺談VSCode中怎么搭建和配置opencv環境

找到下圖的CMake文件夾位置:

淺談VSCode中怎么搭建和配置opencv環境
添加該路徑到環境變量,如我的配置:F:CMAKEin。

找到下圖的opencv文件夾位置:

淺談VSCode中怎么搭建和配置opencv環境

添加該路徑到環境變量,如:F:opencv4.5.1opencvuilddmingwin。

目前應具備的環境變量path

淺談VSCode中怎么搭建和配置opencv環境

檢查環境變量是否添加成功:

win+R鍵輸入cmd到終端:

淺談VSCode中怎么搭建和配置opencv環境
淺談VSCode中怎么搭建和配置opencv環境

在終端的命令有點不同,我的是gcc -v和cmake –version,是-v還是–version我也不清楚

生成MakeFiles

在操作cmake-gui前,如果沒有翻過墻的話,要先在C:windowsSystem32driversetchosts文件最后追加:

151.101.72.133 raw.githubusercontent.com

因為cmake-gui會下載一些文件,這些文件都在raw.githubusercontent.com上,如果不修改一下hosts,許多文件很可能會下載失敗。

修改方法:將hosts文件以記事本的方式打開進行編輯,或直接拖到vsocde打開修改即可。若修改了但保存不了這種問題可以先復制一份,將原來的那份文件刪除,將修改好的文件復制回原位置即可。

打開cmake-gui后選擇源文件路徑和MakeFiles保存路徑(自選路徑),如圖:

淺談VSCode中怎么搭建和配置opencv環境

點擊Configure,彈出窗口配置如下:

淺談VSCode中怎么搭建和配置opencv環境

要注意下拉框選擇的是MinGW,不要看岔了。之后點擊Next,選擇MinGW文件中編譯工具如下,最后點擊Finish。

淺談VSCode中怎么搭建和配置opencv環境

執行過程中消息框會出現一紅色信息,最后顯示Configure done,是正常的。如果執行時中斷,則存在其他問題。在執行完后,勾選BUILD_opencv_world,WITH_OPENGL和BUILD_EXAMPLES,不勾選WITH_IPP、WITH_MSMF和ENABLE_PRECOMPILED_HEADERS(如果有的話),CPU_DISPATCH選空。如果要編譯opencv_contrib,則需要在OPENCV_EXTRA_MODULES_PATH 把路徑選擇為解壓的opencv_contrib文件中的“modules”文件夾。

再次點擊Configure,這次執行完后仍有錯誤如下:

淺談VSCode中怎么搭建和配置opencv環境

也就是說前面雖然修改了hosts,但是有些文件仍然沒有成功下載,解決的方法就是手動下載它們。可以用瀏覽器訪問下載鏈接,或者使用迅雷等下載器進行下載。CMakeDownloadLog.txt文件中列出了所有丟失文件的下載鏈接,比如:

https://raw.githubusercontent.com/opencv/opencv_3rdparty/759a23e24ab787a0979f8a93103dcc3105ec10c1/ffmpeg/opencv_ffmpeg.dll

一個個訪問這些鏈接,下載后放到OpenCV源文件里.cache的相應子文件夾中替代原緩存文件(下載的文件重命名為相應地緩存文件名并刪除原緩存文件)。這樣從頭到尾下載CMakeDownloadLog.txt中列出的所有丟失文件,之后,再次Configure,理論上不會出現紅色的錯誤消息了。然后點擊Generate,正常的話會顯示非紅色的消息Generate Done。一般翻墻成功的話都可以直接下載成功

編譯opencv

CMD到MakeFiles所在文件夾,執行minGW32-make命令,或者使用線程minGW32-make -j 4命令:

淺談VSCode中怎么搭建和配置opencv環境

如果報錯可查閱下面的網址幫助:

https://blog.huihut.com/2018/07/31/CompiledOpenCVWithMinGW64/

一般問題都是可以通過勾選和去勾選解決的,因為之前就Configure過,因此回頭再Configure一下花不了太多時間。

如果同時編譯opencv_contrib,可能會報如下錯誤:

淺談VSCode中怎么搭建和配置opencv環境

編譯完成之后,輸入minGW32-make install 來完成裝載。

minGW32-make?install

vscode配置

在VScode中安裝C/C++擴展,添加以下三個json文件:

launch.json 需要配置miDebuggerPath項。

{ ????"version":?"0.2.0", ????"configurations":?[ ????????{ ????????????"name":?"opencv4.5.1?debuge", ????????????"type":?"cppdbg", ????????????"request":?"launch", ????????????"program":?"${workspaceFolder}${fileBasenameNoExtension}.exe", ????????????"args":?[], ????????????"stopAtEntry":?true, ????????????"cwd":?"${workspaceFolder}", ????????????"environment":?[], ????????????"externalConsole":?true, ????????????"MIMode":?"gdb", ????????????"miDebuggerPath":?"F:/MINGW64/mingw64/bin/gdb.exe", ????????????"setupCommands":?[ ????????????????{ ????????????????????"description":?"為?gdb?啟用整齊打印", ????????????????????"text":?"-enable-pretty-printing", ????????????????????"ignoreFailures":?false ????????????????} ????????????], ????????????"preLaunchTask":?"opencv4.5.1?compile?task" ????????} ????] }

c_cpp_properties.json 需要配置compilerPath項和includePath項。

{ ????"configurations":?[ ????????{ ????????????"name":?"win", ????????????"includePath":?[ ????????????????"${workspaceFolder}/**", ????????????????"F:/opencv4.5.1/opencv/build/x64/mingw/install/include", ????????????????"F:/opencv4.5.1/opencv/build/x64/mingw/install/include/opencv2", ????????????????"F:/opencv4.5.1/opencv/build/x64/mingw/install/include/opencv2/myself_all" ????????????], ????????????"defines":?[], ????????????"compilerPath":?"F:/MINGW64/mingw64/bin/gcc.exe", ????????????"cStandard":?"c11", ????????????"cppStandard":?"c++17", ????????????"intelliSenseMode":?"clang-x64" ????????} ????], ????"version":?4 }

tasks.json 需要配置command項、args項和options項。

{ ????"version":?"2.0.0", ????"tasks":?[ ????????{ ????????????"type":?"shell", ????????????"label":?"opencv4.5.1?compile?task", ????????????"command":?"F:/MINGW64/mingw64/bin/g++.exe", ????????????"args":?[ ????????????????"-g", ????????????????"${file}", ????????????????"-o", ????????????????"${workspaceFolder}${fileBasenameNoExtension}.exe", ????????????????"F:/opencv4.5.1/opencv/build/x64/mingw/install/x64/mingw/bin/libopencv_world451.dll", ????????????????"-I", ????????????????"F:/opencv4.5.1/opencv/build/x64/mingw/install/include", ????????????????"-I", ????????????????"F:/opencv4.5.1/opencv/build/x64/mingw/install/include/opencv", ????????????????"-I", ????????????????"F:/opencv4.5.1/opencv/build/x64/mingw/install/include/opencv2", ????????????], ????????????"options":?{ ????????????????"cwd":?"F:/MINGW64/mingw64/bin" ????????????}, ????????????"problemMatcher":?[ ????????????????"$gcc" ????????????], ????????????"group":?{ ????????????????"kind":?"build", ????????????????"isDefault":?true ????????????} ????????} ????] }

注意:如果是復制我的文件配置的話記得把opencv4.5.1改為你的對應版本

驗證程序:Ctrl+Shift+B編譯即可生成對應exe文件,然后F5運行。

#include<opencv2> #include?<iostream> using?namespace?cv; int?main(int?argc,?char**?argv)?{ ????Mat?src?=?imread("image/girl.jpg");?//圖片路徑為同一文件夾 ????namedWindow("window_1",0); ????imshow("window_1",?src); ????waitKey(0); ????return?0; }</iostream></opencv2>

更多關于VSCode的相關知識,請訪問:vscode!!

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享