【C/C++】VS Code配置Opencv用于机器视觉数字图像处理技术

目录

关键步骤

一、VS Code配置

二、Opencv配置

三、安装CMake

四、配置两个环境变量

五、运行CMake

六、配置环境变量

七、C++项目配置

八、运行测试

 乱码问题:

 如果遇到输出框乱码问题:


关键步骤

一、VS Code配置

安装C/C++插件(好像已经有了opencv插件,但是包含的关键函数实在太少)

二、Opencv配置

先在opencv安装目录下的\build\x64目录下新建一个文件夹准备存储相关编译文件

三、安装CMake

官网https://cmake.org/download/下载CMake(官网下载慢可以自己在百度网盘找,版本差别不大就行)

下载好后安装在C盘根目录,我这里的安装目录是C:\Program Files\CMake 

四、配置两个环境变量

mingw64的bin目录和CMake的bin目录

检测是否安装成功:Win+R键输入cmd运行,输入命令gcc -v出现下面信息就成功了

五、运行CMake

添加目录开始操作

 

点击Configure出现弹框选择MinGW Makefiles和Specify native comilers,再点next进行下一步

在图示方框右边的有省略号的小方框选择编译程序(就是mingw64的bin目录下的.exe程序,我这里C和C++分别是C:\mingw64\bin\gcc.exeC:\mingw64\bin\g++.exe),再点击Finish

出现Configuring done(这里强烈建议:在下面出来的选框中 勾选上WITH_OPENGL 、取消勾选WITH_IPP 取消勾选

ENABLE_PRECOMPILED_HEADERS,这样后面的编译装载成功率高很多 )

再次点击Configure等进度条跑完再点击Generate,等进度条跑完会出现Generating done

接下来开始编译装载,按Win键+R打开运行窗口输入cmd运行,按图示操作

六、配置环境变量

就是刚才编译装载完成的bin目录,这时你之前新建的MinGW文件夹里面会有了很多文件

七、C++项目配置

新建文件夹作为C++项目工作目录,在VSCode中打开工作目录

新建三个配置文件如下:

c_cpp_properties.json

{
    "configurations": [
        {
            "name": "win32",
            "includePath": [
                "${workspaceFolder}/**",
                "C:\\Program Files\\opencv\\build\\include",
                "C:\\Program Files\\opencv\\build\\include\\opencv2"     
            ],
            "defines": [],
            "compilerPath": "C:\\mingw64\\bin\\gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "msvc-x64"
        }
    ],
    "version": 4
}

launch.json 

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/${fileBasenameNoExtension}.o",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe",
            "preLaunchTask": "g++",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        },
    ]
}

tasks.json 

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "command": "g++",
    "args": [
        "-g", 
        "-std=c++11", 
        "${file}", 
        "-o", 
        "${fileBasenameNoExtension}.o",  
        "-I", "C:\\Program Files\\opencv\\build\\include",
        "-I", "C:\\Program Files\\opencv\\build\\include\\opencv2",
        "-L", "C:\\Program Files\\opencv\\build\\x64\\MinGW\\lib",
        "-l", "libopencv_core411",
        "-l", "libopencv_imgproc411",
        "-l", "libopencv_imgcodecs411",
        "-l", "libopencv_video411",
        "-l", "libopencv_ml411",
        "-l", "libopencv_highgui411",
        "-l", "libopencv_objdetect411",
        "-l", "libopencv_flann411",
        "-l", "libopencv_imgproc411",
        "-l", "libopencv_photo411",
        "-l", "libopencv_videoio411"
  
    ],// 编译命令参数
    "problemMatcher":{
        "owner": "cpp",
        "fileLocation":[
            "relative",
            "${workspaceFolder}"
        ],
        "pattern":[
            {
                "regexp": "^([^\\\\s].*)\\\\((\\\\d+,\\\\d+)\\\\):\\\\s*(.*)$",
                "file": 1,
                "location": 2,
                "message": 3
            }
        ]
    },
    "group": {
        "kind": "build",
        "isDefault": true
    }
  }
  

里面有些地方需要自己改改

 

然后新建一个.cpp文件,拷入测试代码

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv) {
	Mat src = imread(".//test.jpg");
	if (src.empty()) {
		printf("could not load image...\n");
		return -1;
	}
	namedWindow("input image", WINDOW_AUTOSIZE);
	imshow("input image", src);

	waitKey(0);
	return 0;
}

 在文件夹里放一张图片命名test.jpg

八、运行测试

切换到VSCode调试窗口,点击运行

 

 乱码问题:

在商店安装扩展GBKtoUTF8一般可以解决

 如果遇到输出框乱码问题:

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值