內(nèi)容
windows10系統(tǒng)下安裝opencv4.7.0+VSCode+(C++)環(huán)境搭建
寫在前面(安裝包可去官網(wǎng)下載)
1.VScode最新版
2.Opencv:opencv-4.7.0、opencv_contrib-4.7.0(擴展庫,可自選是否安裝)
3.MinGW-w64:選擇GCCWindows版本
4.c-make工具:最新版,應(yīng)選擇二進(jìn)制版本
注意:
- (1)以上安裝包目錄文件中不應(yīng)包含空格空格和其他非法字符,否則后面會出問題;
- (2)系統(tǒng)已安裝或配置Python和Java對應(yīng)版本,切記安裝路徑不能包含空格和其他非法字符;
- (3)c-make解壓至系統(tǒng)盤,放其他盤,后面cmake build可能會報錯。
環(huán)境搭建過程
1 vscode安裝:
打開解壓好的vscode,運行code.exe進(jìn)行安裝配置,完成后,打開vscode配置c/c++擴展庫(想中文顯示面板,可在此查找中文插件,安裝)。詳細(xì)步驟如下:
MinGW-w64安裝
將其安裝包解壓后再系統(tǒng)環(huán)境變量中添加并保存其bin的Path:如E:\MinGW\bin(避免非法字符)。然后再cmd中輸入gcc -version,若如下顯示則表示配置成功。
Opencv編譯
1.解壓c-make包,運行cmake包中bin目錄的cmake-gui.exe(如C:\cmake-3.26.0-rc3-windows-x86_64\bin)
注
- (1)在"Specify the generator for this project"選擇時,應(yīng)選"MinGW Makefiles",編輯器可根據(jù)自己實際情況選擇,若無要求,則使用默認(rèn)編譯器;
- (2)opencv擴展安裝:在上述step3執(zhí)行無誤后,在Search中輸入extra,并選擇擴展路徑E:\Microsoft-VS-Code\opencv_contrib-4.7.0。點擊configure,配置完成后即可點擊generate。
- 完成配置后,在自己創(chuàng)建的build文件夾==(用于存放opencv編譯結(jié)果)==中,按住shift+鼠標(biāo)右鍵,進(jìn)入powershell窗口:
- (1) 輸入 MinGW32-make 開始編譯,若缺寶庫則會很慢(性能較好的筆記本可用 MinGW32-make -j4 ,多CPU同時編譯)。
- (2)編譯完成,輸入:MinGW32-make install 進(jìn)行安裝。
- (3)添加編譯后的文件環(huán)境變量:E:\Microsoft-VS-Code\opencv-4.7.0_build
vscode配置opencv,并test運行
如圖,進(jìn)行創(chuàng)建vscode代碼的存儲文件夾、配置json文件夾:
對應(yīng)json文件配置內(nèi)容如下所示:
-
c_cpp_properties.json
需配置“includePath” (make生成的文件夾對應(yīng)位置) 和"compilerPath" (gcc編譯器所在位置)
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"E:/Microsoft-VS-Code/opencv-4.7.0_build/install/include",
"E:/Microsoft-VS-Code/opencv-4.7.0_build/install/include/opencv2"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "E:/MinGW/bin/gcc.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
- launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "E:/MinGW/bin/gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "Compile"
}
]
}
- Task.json
注意:"command"中g(shù)++的配置,如:“E:/MinGW/bin/g++.exe”,以及其他路徑的配置。libopencv_core470中的 “470” 表示對應(yīng)的opencv版本。
{
"tasks": [
{
"label": "Compile",
"command": "E:/MinGW/bin/g++.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-m64",
"-Wall",
"-static-libgcc",
"-finput-charset=UTF-8",
"-fexec-charset=GBK",
"-std=c++17",
"-I",
"E:/Microsoft-VS-Code/opencv-4.7.0_build/install/include",
"-I",
"E:/Microsoft-VS-Code/opencv-4.7.0_build/install/include/opencv2",
"-L",
"E:/Microsoft-VS-Code/opencv-4.7.0_build/install/x64/mingw/lib",
"-l",
"libopencv_calib3d470",
"-l",
"libopencv_core470",
"-l",
"libopencv_dnn470",
"-l",
"libopencv_features2d470",
"-l",
"libopencv_flann470",
"-l",
"libopencv_gapi470",
"-l",
"libopencv_highgui470",
"-l",
"libopencv_imgcodecs470",
"-l",
"libopencv_imgproc470",
"-l",
"libopencv_ml470",
"-l",
"libopencv_objdetect470",
"-l",
"libopencv_photo470",
"-l",
"libopencv_stitching470",
"-l",
"libopencv_video470",
"-l",
"libopencv_videoio470"
],
"type": "process",
"problemMatcher": "$gcc",
"group": "build",
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared"
}
},
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活動文件",
"command": "E:\\MinGW\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "調(diào)試器生成的任務(wù)。"
}
],
"version": "2.0.0"
}
代碼運行測試
- demo
#include<opencv2/opencv.hpp>
#include<opencv2/highgui.hpp>
using namespace cv;
int main()
{
Mat img=imread("C:/Users/Administrator/Desktop/test.jpg");
//Mat resize_img(img);
Size dsize = Size(round(0.3 * img.cols), round(0.3 * img.rows));//Size型 改變尺寸
resize(img, img, dsize, 0, 0, INTER_LINEAR); //使用雙線性插值縮放一下尺寸
//resize(img, resize_img, Size(img.cols/7, img.rows/7));
cv::imshow("test",img);
cv::waitKey();
system("pause");
return 0;
}
-
在vscode中按F5運行,結(jié)果如下:
如上圖所示,則表示已完成了相關(guān)的安裝配置,可進(jìn)行下一步開發(fā)測試。文章來源:http://www.zghlxwxcb.cn/news/detail-409564.html -
創(chuàng)作不易,支持原創(chuàng),感謝大家的支持與理解。若在配置過程中遇到問題,歡迎留言!文章來源地址http://www.zghlxwxcb.cn/news/detail-409564.html
到了這里,關(guān)于windows10系統(tǒng)下安裝opencv4.7.0+VSCode+(C++)環(huán)境搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!