正常流程是MinGW+CMake+opencv编译,可以参考以下教程:
OpenCV使用CMake和MinGW-w64的编译安装 | HuiHut
https://www.cnblogs.com/kensporger/p/12320622.html
https://blog.csdn.net/zhaiax672/article/details/88971248
https://my.oschina.net/u/4313733/blog/4585043
https://blog.csdn.net/qq_37112826/article/details/108871312
https://blog.csdn.net/zhaiax672/article/details/88971248
但是我用cmake编译opencv的过程一直报错。折腾了很久,卸载重装了N次。还因为环境变量冲突卸载了anaconda。
血泪史。
所以放弃了。最后直接下载了编译好的opencv,在VScode上配置成功。
1、官网下载并安装MinGW,CMake。添加环境变量。
2、直接下载编译好的opencv
https://github.com/huihut/OpenCV-MinGW-Build
3、配置环境变量 path:
D:\OpenCV\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\x64\mingw\bin
4、vscode 配置opencv并测试
参考:
https://blog.csdn.net/bankexinan/article/details/112970346
https://blog.csdn.net/zoeou/article/details/80934367
launch.json配置:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe - 生成和调试活动文件",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "D:\\MinGW\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe 生成活动文件"
}
]
}
c_cpp_properties.json 配置
{
"configurations": [
{
"name": "Win",
"includePath": [
"${workspaceFolder}/**",
"D:\\tianyu-software_install\\OpenCV\\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\\include",
"D:\\tianyu-software_install\\OpenCV\\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\\include\\opencv2"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "D:\\MinGW\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin\\gcc.exe",
"cStandard": "gnu17",
"cppStandard": "gnu++14",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}
tasks.json配置
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "D:\\MinGW\\x86_64-8.1.0-release-posix-seh-rt_v6-rev0\\mingw64\\bin\\g++.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-I", "D:\\OpenCV\\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\\include",
"-I", "D:\\OpenCV\\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\\include\\opencv2",
"-L", "D:\\OpenCV\\OpenCV-MinGW-Build-OpenCV-4.5.2-x64\\x64\\mingw\\lib",
"-l", "libopencv_core452",
"-l", "libopencv_dnn452",
"-l", "libopencv_flann452",
"-l", "libopencv_highgui452",
"-l", "libopencv_imgcodecs452",
"-l", "libopencv_imgproc452",
"-l", "libopencv_objdetect452",
"-l", "libopencv_photo452",
"-l", "libopencv_video452",
"-l", "libopencv_videoio452"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
test程序
#include<opencv2/opencv.hpp>
#include<opencv2/highgui.hpp>
#include<iostream>
//using namespace std;
using namespace cv;
int main(){
Mat img = imread("test.jpg");
imshow("image",img);
waitKey();
return 0;
}
运行成功,显示图片。
opencv_contrib-4.5.2暂未配置(也是CMake编译那一步一直失败)
下载:https://github.com/opencv/opencv_contrib/releases/tag/4.5.2
参考 https://www.cnblogs.com/noticeable/p/9594560.html