在网上能找到WSL和VSCODE的配置方法,能找到VSCODE和opencv的使用方法,能找到WSL和opencv的配置方法,但很少有wsl+vscode+opencv,但描述不清、关键细节一带而过。只好自力更生,把它们搞定。
这方面不展开说了,本人前面的文章里有详细说明
WSL2安装
WSL2安装Xfce4可视化GUI界面,这个一定要装,opencv打开图像窗口要用
在WSL2下使用VSCode编写C++程序
安装opencv网上教程很多,参考:WSL:安装OpenCV开发环境
安装成功且编译完成后,要将opencv的lib文件夹下的内容拷贝到linux下usr/local/lib文件夹里。
按照以上步骤安装完毕后,
本例为test
给工作区添加文件test.cpp,并将写入以下代码
#include
#include "opencv4/opencv2/opencv.hpp"
#include "opencv4/opencv2/highgui.hpp"
#include "opencv4/opencv2/imgproc.hpp"
using namespace std;
using namespace cv;
int main()
{
cout << "This is an OpenCV programm in Linux system." << endl;
Mat img = imread("snap1.jpg");
// Mat img = imread("1.bmp");
imshow("OpenCV Test", img);
waitKey(0);
return 0;
}
3.直接F5运行,按下图选择编译器
4.出现错误,不用担心,停止调试程序,vscode已自动生成配置文件task.json,打开它,在”args"子项里加入一行编译参数:"`pkg-config --libs --cflags opencv4`",注意双引号内层有单引号,task.json内容如下:
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++ 生成活动文件",
"command": "/usr/bin/g++",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"`pkg-config --libs --cflags opencv4`"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
5.重新运行程序(F5)
完美打开图像。
重要的信息再提示一遍
1.linux下:把opencv的lib文件,都拷贝到usr/local/lib文件夹下
2.vscode:task.json文件的args子项里,添加一行 "`pkg-config --libs --cflags opencv4`"。