Ubuntu20下 vscode配置OpenCV 4.5.5                     opencv 4.5编译遇到的问题

这篇具有很好参考价值的文章主要介绍了Ubuntu20下 vscode配置OpenCV 4.5.5                     opencv 4.5编译遇到的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一 安装依赖

sudo apt install -y g++
sudo apt install -y cmake
sudo apt install -y make

二、安装opencv依赖的库

sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
参考下以下opencv依赖库

sudo apt-get install build-essential

sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

安装opencv依赖的时候,有可能会出现sbin/ldconfig.real:/usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8 is not a symbolic link 这个问题,请参考Ubuntu20.04中配置opencv依赖时/usr/local/cuda-11.1/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8 is not

三、下载OpenCV 4.5.5和对应版本的opencv-contrib源文件 ,打开opencv官网 opencv.org

解压放到家目录,进入opencv4.5.5目录里,右击鼠标打开终端  创建目录build  ,再执行 cd build

mkdir build
cd build

 四、cd build目录,开始编译opencv

(1)不添加扩展库

sudo cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES -D WITH_FFMPEG=ON ..

 (2)编译添加扩展库

sudo cmake -D CMAKE_INSTALL_PREFIX=/usr/local -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ..

 (3)若装过anaconda,可能存在一些 冲突,如果使用上面这条命令出现: recipe for target 'all' failed的报错。只需要改成

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_SHARED_LIBS=OFF -D WITH_OPENMP=ON -D ENABLE_PRECOMPILED_HEADERS=OFF ..

-D OPENCV_GENERATE_PKGCONFIG=YES

OpenCV4以上默认不使用pkg-config,该编译选项开启生成opencv4.pc文件,支持pkg-config功能

opencv_contrib全部的版本下载地址:https://github.com/opencv/opencv_contrib/tags

五、编译 

sudo make -j8

-j8  8指同时使用8个进程,速度快,你也可以根据自己的电脑情况,用-j2 或者-j16

六、安装

sudo make install

七、配置pkg-config环境

opencv4.pc文件的默认路径:/usr/local/lib/pkgconfig/opencv4.pc若此目录下没有,可以使用以下命令搜索  sudo find / -iname opencv4.pc

sudo gedit /etc/profile.d/pkgconfig.sh

 把路径加入到PKG_CONFIG_PATH,在文件中加入下面一行代码

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

保存并退出,然后source,使生效

source /etc/profile

八、验证是否成功

pkg-config --libs opencv4

Ubuntu20下 vscode配置OpenCV 4.5.5
                    
            
                    opencv 4.5编译遇到的问题

 类似以上信息,即表示成功

九、配置动态库环境

sudo vim /etc/ld.so.conf.d/opencv4.conf

文件末尾加上OpenCV的lib路径  

/usr/local/lib

 配置生效

sudo ldconfig

十、 测试

cd 到/opencv/samples/cpp/example_cmake目录下,执行如下命令

cmake .
make
./opencv_example

十一、vscode里配置 

1、安装c/c++扩展, 点击文件,新建一个文件夹,打开文件夹,,新建test.cpp文件,找张图片,写入下列代码

#include <opencv2/opencv.hpp>
 
using namespace std;
using namespace cv;
 
int main(int argc, char* argv[]) {
    const char* imagename = "test.jpg";//此处为你自己的图片路径
 
    //从文件中读入图像
    Mat img = imread(imagename, 1);
 
    //如果读入图像失败
    if (img.empty()) {
        fprintf(stderr, "Can not load image %s\n", imagename);
        return -1;
    }
    //显示图像
    imshow("image", img);
 
    //此函数等待按键,按键盘任意键就返回
    waitKey();
    return 0;
}

 2、vscode调试主要就是改那三个json文件,opencv4和以前版本的文件夹不一样,这里给出我适用的三个json文件

tasks.json

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ build active file",  /* 与launch.json文件里的preLaunchTask的内容保持一致 */
            "command": "/usr/bin/g++",
            "args": [
                "-std=c++11",
                "-g",
                //"${file}",   /* 编译单个文件 */
                "${fileDirname}/*.cpp",  /* 编译多个文件 */
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}",  /* 输出文件路径 */
 
                /* 项目所需的头文件路径 */
                "-I","${workspaceFolder}/",
                "-I","/usr/local/include/",
                "-I","/usr/local/include/opencv4/",
                "-I","/usr/local/include/opencv4/opencv2",
 
                /* 项目所需的库文件路径 */
                "-L", "/usr/local/lib",
 
                /* OpenCV的lib库 */
                "/usr/local/lib/libopencv_*",
 
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}

launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++ - Build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",  //程序文件路径
            "args": [],  //程序运行需传入的参数
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": true,   //运行时是否显示控制台窗口
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++ build active file",
            "miDebuggerPath": "/usr/bin/gdb"
        }
    ]
}

 c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
            
                "/usr/local/include/opencv4"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "gnu11",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}

然后运行图片出来就OK了,完毕

                    opencv 4.5编译遇到的问题

1.boostdesc_bgm.i,vgg_generated_48.i等文件的缺失

链接: https://pan.baidu.com/s/13n1G8xcLoR8LEt8yetH9_A 提取码: cv8w  

下载后解压了,将文件夹内的文件放入opencv_contrib/modules/xfeatures2d/src/ 路径下即可

2.fatal error: features2d/test/test_detectors_regression.impl.hpp: 没有那个文件或目录 

将以下文件(文件不是在opencv\modules\features2d\test\ 里,就是在opencv_contrib-4.5.0\modules\xfeatures2d\test\ 中)放入opencv_contrib-4.5.0\modules\xfeatures2d\test\ 里(在你编译生成的文件夹中的\modules\features2d\中也最好新建个test文件夹,将内容粘贴过去)

test_descriptors_invariance.impl.hpp
test_descriptors_regression.impl.hpp
test_detectors_invariance.impl.hpp
test_detectors_regression.impl.hpp
test_features2d.cpp
test_invariance_utils.hpp
test_rotation_and_scale_invariance.cpp文章来源地址https://www.toymoban.com/news/detail-415237.html


修改test_features2d.cpp文件下的
#include “features2d/test/test_detectors_regression.impl.hpp”
#include “features2d/test/test_descriptors_regression.impl.hpp”
去掉目录,改成#include “test_detectors_regression.impl.hpp”
                         #include “test_descriptors_regression.impl.hpp”


修改test_rotation_and_scale_invariance.cpp文件下的
#include “features2d/test/test_detectors_invariance.impl.hpp”
#include “features2d/test/test_descriptors_invariance.impl.hpp”
去掉目录,改成#include “test_detectors_invariance.impl.hpp”
                         #include “test_descriptors_invariance.impl.hpp”

到了这里,关于Ubuntu20下 vscode配置OpenCV 4.5.5                     opencv 4.5编译遇到的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu 20.04 aarch64 平台交叉编译 opencv

    win10 64 位 VMware Workstation Pro 16 虚拟机 虚拟机安装 ubuntu 20.04 opencv 版本: 来自 github 当前最新 4.7 交叉编译 opencv,用于 嵌入式 aarch64 平台 可以直接从 github 下载 release 版本或者 使用 git clone 最新的 opencv 仓库 github opencv https://github.com/opencv/opencv git clone https://github.com/opencv/openc

    2024年02月09日
    浏览(67)
  • ubuntu 20.04 aarch64 平台交叉编译 opencv 静态库

    win10 64 位 VMware Workstation Pro 16 虚拟机 虚拟机安装 ubuntu 20.04 opencv 版本: 来自 github 当前最新 4.7 交叉编译 opencv 生成静态库(.a),用于 嵌入式 aarch64 平台。 参考上一篇 ubuntu 20.04 aarch64 平台交叉编译 opencv 默认会生成 动态库(so),可以通过cmake 配置 -DBUILD_SHARED_LIBS=OFF 关闭动

    2024年02月08日
    浏览(63)
  • 【已解决】Ubuntu 20.04 编译OpenCV 动态链接库指向版本不一致导致出错

    问题:编译OpenCV 4.8.1, 显示出错: /usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: undefined reference to `ffi_type_uint32@LIBFFI_BASE_7.0\\\' /usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: undefined reference to `ffi_type_sint32@LIBFFI_BASE_7.0\\\' /usr/bin/ld: /lib/x86_64-linux-gnu/libwayland-client.so.0: undefined reference to

    2024年02月04日
    浏览(37)
  • ubuntu 运行opencv_sample遇到的问题

    首先我遇到的问题就是摄像头连接不上 勾选最后一个 然后是 usb接口问题 点击虚拟机设置 我的是改为 3 就可以啦

    2024年03月13日
    浏览(33)
  • Ubuntu20.04 编译 gstreamer 支持gpu硬编解 opencv-python同支持gst

    Gstreamer是一个支持Windows,Linux,Android, iOS的跨平台的多媒体框架,应用程序可以通过管道(Pipeline)的方式,将多媒体处理的各个步骤串联起来,达到预期的效果。每个步骤通过元素(Element)基于GObject对象系统通过插件(plugins)的方式实现,方便了各项功能的扩展。 下图

    2024年02月11日
    浏览(106)
  • ubuntu20.04配置OpenCV的C++环境

    这里以opencv-3.4.16为例 复现https://github.com/raulmur/ORB_SLAM2此项目,需安装opencv及其他依赖,可见README.md详情 https://opencv.org/releases/ https://github.com/opencv/opencv_contrib 如果在执行第三个命令时提示“Unable to locate package libjasper-dev”,应该是下载源的问题。解决方法如下: 然后再执行一

    2024年02月05日
    浏览(69)
  • Ubuntu安装OpenCV3.4.5(两种方法&&图文详解)

    博主在ubuntu20.04系统上又需要安装opencv,此前在18.04上安装过多次opencv,对计算机视觉开源库还是比较熟悉,本次安装记录下详细过程,方便后来同学少走弯路。 没想到吧?只需要一条命令行就可以安装好opencv,它会自动下载安装所需的库文件,这里显示要149个,右下角显示

    2024年02月09日
    浏览(36)
  • ubuntu18.04下安装vscode并配置python+opencv

     进入vscode官网 https://code.visualstudio.com/ 下载完之后直接双击下载的包可以直接安装    打开vscode点击拓展然后搜索python点击安装 (我这边已经装过了) 现在打开终端(ctrl+alt+T) 输入python 不出意外会是ubuntu自带的2.7  现在pip install 安装opencv装不到python3.6解释器 现在输入ex

    2024年02月12日
    浏览(56)
  • ubuntu18、20 cv_bridge 与自带opencv版本冲突问题

    背景: nvidia tx2、xvaier 装机自带 ubuntu18 + opencv4  后来我们会安装melodic的ros,ros中的cv_bridge 默认cv版本是3.2.0 编译带cv_bridge的代码时,会报错会崩溃,因为版本冲突了 为了解决该问题, 行之有效的一种解法是重新安装 cv_bridge,使其兼容opencv 4 安装cv_bridge with opencv4 1、git clo

    2024年02月07日
    浏览(47)
  • Ubuntu20.04安装配置OpenCV-Python库并首次执行读图

    一、选择三方提供的预编译包安装: 可以从官网下载 OpenCV 的安装包,编译后使用;也可以直接使用第三方提供的预编译包 安装。显然后者不需要执行编译步骤,更便捷。选择由 PyPI 提供的 OpenCV 安装包,可以在 https://pypi.org/project/opencv-python/上面下载最新的基于 Python 的 Op

    2024年01月15日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包