VScode中配置C++的Opencv库

    科技2022-09-07  114

    vscode中配置C++的opencv库

    安装VScode下载MinGW下载编译好的opencv库配置在VScode中配置Opencv芜湖~起飞   VScode这个神一样的编辑器确实太好看了,太想用它来写C++了,但配置Opencv库实在是道路坎坷,几个月前曾经配置好了一个 不能完整运行版的,现在终于配置成完整版本了!~~~~   写下了本人第一篇Blog,记录下这个配置过程,防止以后换电脑又…

    主要流程:

    1. 安装VScode 2. 下载MinGW以及配置C++环境 3. 下载编译好的opencv库 4. 配置opencv环境 5. 芜湖~起飞!

    注:本篇对VScode下载、配置C++环境略过,请各位好朋友们看其他人写的相关Blog

    安装VScode

    VScode的安装在网上教程有很多,随便摘取一篇教程就可以,关键是下载正确可用的MinGW,以及正确编译过的Opencv库。

    下载MinGW

    先摆链接!MinGW下载地址 注意!!!!!!!!

    1.64位系统的话一定下载带有这个标志的 “x86_64-posix-seh” 2. 直接解压就可以,无需安装,解压到您预期的文件夹

    下载编译好的opencv库

    自己用Cmake和Visual Studio对opencv库进行编译太繁琐,无需自己造“轮子”,我有轮子。 只需要进行解压即可,无需安装。安装完后把bin下路径添加到系统路径中 3.4.1版本的Opencv 4.0.0版本的Opencv 如果链接失效请私聊

    配置在VScode中配置Opencv

    在这一部分中主要是c_cpp_properties.json、task.json这两个文件,下面我给我的这两个文件。

    c_cpp_properties.json 红色框的按自己的路径修改即可,其他的是我自己加的其他库,不用管。 task.json 同理,红色框里的路径根据自己opencv路径添加。蓝色框直接复制我的就可以(如果是安装的4.0版本的opencv的话341要改成400) 直接复制粘贴就行

    "-llibopencv_calib3d341", "-llibopencv_core341", "-llibopencv_dnn341", "-llibopencv_features2d341", "-llibopencv_flann341", "-llibopencv_highgui341", "-llibopencv_imgcodecs341", "-llibopencv_imgproc341", "-llibopencv_ml341", "-llibopencv_objdetect341", "-llibopencv_photo341", "-llibopencv_shape341", "-llibopencv_stitching341", "-llibopencv_superres341", "-llibopencv_video341", "-llibopencv_videoio341", "-llibopencv_videostab341",

    芜湖~起飞

    这个例子是用opencv库创造一个滑动条对图片进行不同程度的模糊。 注意:请把图片路径换成自己的

    #include<iostream> #include<string> #include<sstream> using namespace std; //opencv头文件 #include "opencv2/core.hpp" #include "opencv2/highgui.hpp" #include "opencv2/imgproc.hpp" using namespace cv; int blurAmount = 15; //保存滑动条的位置值 static void onChange(int pos,void* userInput); static void onMouse(int event,int x,int y ,int,void *userInput); int main() { Mat airplane1 = imread("换成自己图片的路径"); nameWindow("origin_img"); namedWindow("airplane1"); imshow("origin_img",airplane1); createTrackbar("airplane1","airplane1",&blurAmount,30,onChange,&airplane1); setMouseCallback("airplane1",onMouse,&airplane1); onChange(blurAmount,&airplane1); waitKey(0); destroyWindow("airplane1"); return 0; } static void onChange(int pos,void*userData) { if (pos <=0) return; Mat imgBlur; Mat *img = (Mat*)userData; cv::blur(*img,imgBlur,Size(pos,pos)); //Display imshow("airplane1",imgBlur); } static void onMouse(int event, int x, int y,int, void *userInput) { if(event != EVENT_LBUTTONDOWN) return; Mat *img = (Mat*)userInput; //绘图 cvCircle(img,Point(x,y),10,Scalar(0,255,0),3); //调用模糊图像方法 onChange(blurAmount, img); }

    结果

    感谢! 如果opencv链接失效或者配置过程中出现问题请私联系!

    Processed: 0.009, SQL: 9