Vscode + openCV3.1.0 + C++

前言

相信前来寻找此方法的童鞋们,之前已经对vscode有很大程度的了解了,对vscode配置的下载安装以及cpptool的添加我就不再赘述了。接下来将最大程度地回避我在vscode上配置opencv时遇到的各种坑。为了避免不必要的麻烦,最好直接使用本文所提供的编译器版本。

很感谢这位大佬的博客指导,网页容易点出广告 2333
http://www.pianshen.com/article/8044333624/ .

文件准备

  • cmake 3.15.5
  • minGw-w64
  • opencv 3.1.0

下载地址: https://pan.baidu.com/s/1x3rffR0CnPCoWeMSHrIjow .
提取码:9i55

解压缩之后可以看到这四个文件
在这里插入图片描述

安装opencv 3.1.0

打开exe文件,直接解压到除C盘以外的根目录
在这里插入图片描述
解压之后,可以看到一个opencv文件
在这里插入图片描述

安装cmake

打开cmake安装文件,中间设定如下
在这里插入图片描述
在这里插入图片描述
安装完之后,可以在桌面看到cmake图标
在这里插入图片描述

安装minGw-w64

这一步其实直接把mingw64文件直接解压即可,以下以解压到C盘根目录为例,解压之后可以在C盘看到
在这里插入图片描述

添加path路径

在系统变量的path中添加cmake、mingw、opencv的bin目录,注意根据自己安装的目录自行修改
在这里插入图片描述

使用cmake对opencv进行mingw编译

  • 首先在解压后的opencv文件新增一个MinGW文件夹
    路径最好与下面图片一致: XX:\XX\opencv\build\x64
    在这里插入图片描述
  • 打开opencv里面的 3rdparty 文件 XX:\XX\opencv\sources\3rdparty
    用所下载的“cmake_opencv时缺少的文件”中的 ffmpeg文件 替换掉3rdparty中的 ffmpeg文件

在这里插入图片描述
这步很重要,因为cmake过程中,会从国外的网址下载 ffmpeg 文件,下载不出来,需要提前放在opencv的资源文件当中

  • 打开cmake,将资源文件设定为opencv下的sources文件,build目标文件设定为新增的MinGW文件夹,点击Configure

在这里插入图片描述

  • 弹出窗口进行如下设定
    在这里插入图片描述
    在这里插入图片描述
    其中C与C++设定的分别为为,所安装的mingw_w64下的gcc与g++的64位exe文件
    C:/mingw64/bin/x86_64-w64-mingw32-gcc.exe
    C:/mingw64/bin/x86_64-w64-mingw32-g++.exe
  • 点击 finish 等待至 Configuring done
    在这里插入图片描述
  • 在搜索栏搜索python,将相关选项的对勾取消
    在这里插入图片描述
  • 点击 Configure 等待至 Configuring done
    在这里插入图片描述
  • 点击 Generate 结束后弹出 Generating done
    在这里插入图片描述
  • 进入新建的MinGW文件,shift + 右键 进入 powershell
    在这里插入图片描述
  • 输入 minGW32-make ,等待结束,需几十分钟
    在这里插入图片描述
    -成功之后,输入 minGW32-make install ,等待结束,关闭powershell
    在这里插入图片描述
  • 在系统变量的环境中添加新增的MinGW文件的bin路径
    在这里插入图片描述

vscode 中的配置—演示部分

  • 在D盘新增一个vscode_opencv文件夹
    在这里插入图片描述
  • 打开vscode,将该文件夹添加到工作区当中,新建一个 testopencv.cpp 文件
    在这里插入图片描述
  • 输入以下代码,保存
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui_c.h>
#include <iostream>

using namespace cv;
using namespace std;

int main (int arc,char** argv) {
	Mat src, drt;
	src = imread("E:/348713.jpg");//图片自行定义
	if(!src.data){
		cout<<"cound not load image....\n";
		return -1;
	}


	namedWindow("input image", CV_WINDOW_AUTOSIZE);
	imshow("input image",src);

	waitKey(0);
	return 0;
}
  • 点击 F5 ,选择 C++ (GBD) 和 g++.exe…
    在这里插入图片描述
    在这里插入图片描述
  • 之后会弹出 launch.json 文件
    在这里插入图片描述
  • 再次在cpp文件界面点击 F5 会有以下提示
    在这里插入图片描述
  • 点击配置任务,选择 g++ ,会弹出 task.json 文件
    在这里插入图片描述
  • 在 args 后面新增 ,opencv 库目录文件,注意根据安装目录自行修改
    在这里插入图片描述
                "-I","E:/opencv/build/include",
                "-I","E:/opencv/build/include/opencv",
                "-I","E:/opencv/build/include/opencv2",
                "-L","E:/opencv/build/x64/MinGW/lib",
                "-l", "opencv_core310",
                "-l", "opencv_imgproc310",
                "-l", "opencv_imgcodecs310",
                "-l", "opencv_video310",
                "-l", "opencv_ml310",
                "-l", "opencv_highgui310",
                "-l", "opencv_objdetect310",
                "-l", "opencv_flann310",
                "-l", "opencv_imgcodecs310",
                "-l", "opencv_photo310",
                "-l", "opencv_videoio310",
                "-l","libopencv_calib3d310"
  • 键盘 ctrl + shift + P 输入 C++ config 选择 配置(JSON)
    在这里插入图片描述
  • 在弹出的 c_cpp_properties.json 文件的 “includePath” 中添加如下内容

在这里插入图片描述

"C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
"C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
"C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
"C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
"C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
"C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include",
"E:/opencv/build/include",
"E:/opencv/build/include/opencv",
"E:/opencv/build/include/opencv2"

其中 opencv 请根据安装目录自行修改,mingw64开头的,可以打开cmd
输入 gcc -v -E -x c++ - ,可以在最后看到这一部分,复制即可
在这里插入图片描述
在这里插入图片描述

  • 以上配置完成并保存之后,回到 opencvtest.cpp 文件 ,点击 F5 即会有对应效果。
    在这里插入图片描述
  • 要注意的是,在vscode 的imread 函数里面,路径最好不要包含汉字,不然会出现读取为空的情况在这里插入图片描述
  • 其次要注意一定要把 main 写对哦,哈哈,不然就会
undefined reference to `WinMain'

结束语

大概就是这些啦,愉快的使用吧,相关的配置文件我会一并放在下载压缩包的 .vscode 文件里面,不过vscode的launch.json等的配置最好还是亲自在软件上进行点击,复制其他人的会有一些问题。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值