在Linux(以Ubuntu为例)环境下,使用Visual Studio Code(简称VS Code)配置C/C++项目以调用OpenCV库,需要经过几个关键步骤。以下是详细的操作指南,旨在帮助您顺利设置开发环境。
1. 安装必要的软件包
安装VS Code
首先确保您已经安装了VS Code。如果尚未安装,可以通过终端命令安装:
sudo apt update
sudo apt install code
安装GCC/G++编译器
OpenCV的C++开发需要GCC/G++编译器。通常Ubuntu系统自带这些编译器,但如果没有,可以通过以下命令安装:
sudo apt install build-essential
2. 安装CMake
OpenCV的编译和安装依赖于CMake。使用以下命令安装CMake:
sudo apt install cmake
3. 下载并编译OpenCV
下载OpenCV源代码
访问OpenCV官方网站或GitHub仓库下载最新版的OpenCV和OpenCV_contrib源代码。假设您下载到了 ~/Downloads
目录下:
cd ~/Downloads
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.x.zip
unzip opencv.zip
unzip opencv_contrib.zip
mv opencv-4.x opencv
mv opencv_contrib-4.x opencv_contrib
请将上述命令中的 4.x
替换为实际版本号。
配置与编译
创建一个构建目录并进入:
mkdir build && cd build
使用CMake配置OpenCV,确保指定了OpenCV_contrib的位置:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/Downloads/opencv_contrib/modules \
-D ENABLE_NEON=ON \
-D ENABLE_VFPV3=ON \
-D BUILD_TESTS=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D BUILD_EXAMPLES=OFF ..
之后,编译并安装OpenCV:
make -j$(nproc)
sudo make install
sudo ldconfig
4. 配置VS Code
安装C/C++插件
在VS Code中,打开扩展市场,搜索并安装“C/C++”插件,该插件由Microsoft提供,用于增强C/C++语言支持。
创建工作区和项目
在您想要存放项目的目录下,创建一个新的文件夹,然后在VS Code中通过“文件 -> 打开文件夹...”打开此目录。
配置c_cpp_properties.json
在工作区中,通过 .vscode
目录下的 c_cpp_properties.json
文件配置编译器路径和包含目录:
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/local/include",
"/usr/local/include/opencv4"
],
"defines": [],
"compilerPath": "/usr/bin/g++",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
配置tasks.json
为了方便编译和运行程序,创建一个 tasks.json
文件来定义编译任务:
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "Build with g++",
"command": "/usr/bin/g++",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"-I/usr/local/include/opencv4",
"-L/usr/local/lib",
"-lopencv_core",
"-lopencv_highgui",
"-lopencv_imgproc"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
配置launch.json
为了调试,配置 launch.json
文件:
{
"version": "0.2.0",
"configurations": [
{
"name": "C++ Launch (GDB)",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "Build with g++"
}
]
}
5. 测试项目
现在,您可以编写一个简单的OpenCV测试程序,比如显示一张图片:
#include <opencv2/opencv.hpp>
#include <iostream>
int main(int argc, char** argv) {
cv::Mat img = cv::imread("test.jpg");
if(img.empty()) {
std::cout << "Could not open or find the image" << std::endl;
return -1;
}
cv::imshow("Display window", img);
cv::waitKey(0); // Wait for a keystroke in the window
return 0;
}
保存文件后,按下F5启动调试,如果一切配置正确,您应该能看到图像显示窗口。
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。