ubuntu20.04配置VScode + OpenCV_ubuntu opencv vscode
1.前置条件
-
安装ubuntu20.04的虚拟机
-
安装完成后:
sudo apt updatesudo apt upgrade
-
安装gcc编译器
sudo apt install build-essential gdb
-
安装cmake
sudo apt install cmake
-
安装VScode(deb包),并安装C/C++、C/C++ Extension Pack、C/C++ Themes、CMake、CMake Tools共5个拓展
2.安装opencv
mkdir opencv_build && cd opencv_build
- 下载opencv
选择需要的版本,选择tar.gz
- 下载opencv_contrib
选择需要的版本,选择tar.gz
- 将opencv-4.11.0和opencv_contrib-4.11.0拷贝到opencv_build文件夹,解压
tar -xzvf opencv-4.11.0.tar.gztar -xzvf opencv_contrib-4.11.0.tar.gzcd opencv-4.5.4mkdir build && cd build
- 更新一下
sudo apt update
- 配置编译环境
sudo apt install libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libtiff-dev libswscale-dev libpng-devsudo apt install libjasper1 libjasper-devsudo apt install freeglut3-dev libgl1-mesa-dev pkg-configsudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev libgstreamer-plugins-good1.0-devsudo apt install gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-tools gstreamer1.0-libavsudo apt install gstreamer1.0-doc gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudiosudo apt install libgtk2.0-dev libgtk-3-dev
解决无法定位 libjasper-dev 的问题:
sudo apt install vimsudo vim /etc/apt/sources.listsudo apt update
3.编译OpenCV
- 配置OpenCV编译选项
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.11.0/modules -D OPENCV_GENERATE_PKGCONFIG=ON -D BUILD_EXAMPLES=OFF -D INSTALL_PYTHON_EXAMPLES=OFF -D INSTALL_C_EXAMPLES=OFF -D WITH_GSTREAMER=ON ..
如果出现下载错误
则作地址映射,否则跳过此步
访问:https://tool.chinaz.com/dns/raw.githubusercontent.com
找到访问最快的IPV4地址
sudo vim /etc/hosts# 例如输入185.199.109.133raw.githubusercontent.com
重新编译
- 编译
sudo make -j$(nproc)sudo make install
- 检查是否安装成功
pkg-config opencv4 --modversion
安装成功
4.开始一个项目进行测试
- 打开VScode,选择一个文件夹,ctrl + shift + p,输入\"quick start\",回车
输入项目名称,如opencvTest,再选择c或者c++,再选择创建可执行文件
选择其他选项部分可不选,直接回车,不用添加新预设
在CMakeLists.txt中添加如下内容,再ctrl + s保存生成
find_package(OpenCV REQUIRED)include_directories(${OpenCV_INCLUDE_DIRS})target_link_libraries(opencvTest ${OpenCV_LIBS})
opencvTest为项目名称
点击左下角生成
退出代码为0,配置成功
写入如下测试代码,若成功显示图像,则大功告成
#include #include int main(int, char**){ cv::Mat src = cv::imread(\"图片路径\"); cv::namedWindow(\"input\",cv::WINDOW_FREERATIO); cv::imshow(\"input\",src); cv::waitKey(0); cv::destroyAllWindows(); return 0;}
先生成,再点击左下角运行
效果如下图