ubuntu20.04安装opencv 3.2.0以及cv_bridge踩坑记录

这篇具有很好参考价值的文章主要介绍了ubuntu20.04安装opencv 3.2.0以及cv_bridge踩坑记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

本次安装是在我的双系统下安装的,不同ubuntu版本或者不同硬件平台情况也许会有所不同,仅供参考。

一.opencv 3安装

第一步:

我采用的是github官方代码仓库下载安装的方式,下载的是3.2.0版本(其余版本安装过程类似)
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

值得一提的是,在此处我遇到过libjasper-dev无法安装的问题,一般采取的措施都是添加repository的链接后更新软件源,但尝试后还是无法安装该依赖,选择跳过后发现不影响后续安装。具体参见其他大佬的博客。

第三步:正式编译安装

先在下载opencv的文件夹下解压,在/usr/local路径下创建文件夹opencv320之后在终端执行以下指令:

cd ~/Downloads/Applications/opencv-3.2.0
mkdir build # 创建build文件夹
cd build # 进入build文件夹
#注意,一定要加上最后的两个点,***处根据实际需求修改
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/usr/local/opencv320 -D ENABLE_PRECOMPILED_HEADERS=OFF .. 
#我的理解是这cmake把opencv的一些库和可执行文件安装到了系统目录下,方便日后程序调用
make -j20 # j后面的数字情况而定
# 安装到前面指定的路径下,无需加DESTDIR=/your/install/path
sudo make install

注意!
我的cmake那一行写法跟大多数教程都不同哈,原因是采用其他人的写法报错,这是我踩坑之后的修改版,具体bug以及解决的链接我放下边了。
报错1

stdlib.h:没有这样的文件或目录

解决方法:编译OpenCV时出错,致命错误:stdlib.h:没有这样的文件或目录
报错2

error PCL requires C++14 or above

解决方法:error: #error PCL requires C++14 or above
报错3

make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:56: modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:21149: modules/python3/CMakeFiles/opencv_python3.dir/all] Error 2
make: *** [Makefile:138: all] Error 2

解决方法:树莓派3b+安装opencv报错/opencv_python3.dir/__/src2/cv2.cpp.o Error 1

二.cv_bridge安装

因为我双系统自带的是opencv4,cmake 优先会找系统下的cv_bridge,我在此处采取的办法和大多数人一样,都是先卸载了系统自带的cv_bridge:

第一步:卸载自带cv_bridge

#根据版本选择哈,我的对应的ros版本是noetic
sudo apt-get remove ros-noetic-cv-bridge

第二步:下载对应ros版本的cv_bridge

cv_bridge官方下载链接

左上角Branches选择对应版本下载即可

第三步:解压安装

先打开cv_bridge对应的CMakeLists,路径:/home/myPC/Downloads/Applications/vision_opencv-noetic/cv_bridge,将图中对应的代码注释,并set之前opencv的安装路径
opencv3.2.0,linux,ubuntu此时在刚刚那一级路径下(/home/myPC/Downloads/Applications/vision_opencv-noetic/cv_bridge)执行以下操作:

mkdir build # 创建build文件夹
mkdir -p install/install320 #创建install文件夹便于之后的安装
cd build # 进入build文件夹
#注意,一定要加上最后的两个点,***处根据实际需求修改
cmake -D CMAKE_INSTALL_PREFIX=/home/***/Downloads/Applications/vision_opencv-noetic/cv_bridge/install/install320 ..
make -j20 # j后面的数字情况而定
# 安装到前面指定的路径下,无需加DESTDIR=/your/install/path
sudo make install

此时cv_bridge和opencv安装就大功告成了,但还有一步十分关键,那就是如何将这两者的路径添加到工程CMakelists.txt中,我以港科大https://github.com/HKUST-Aerial-Robotics/FIESTA FIESTA建图举例子,在我的设备以及Jetson Xavier上该方法已经成功运行。

a.首先在顶部添加cv_bridge的路径

set(cv_bridge_DIR /home/xyx/Downloads/Applications/vision_opencv-noetic/cv_bridge/install/install320/share/cv_bridge/cmake)  #在find_package前面
find_package(cv_bridge)

b.添加opencv路径:

set(OpenCV_DIR "/usr/local/opencv320")
set(OpenCV_LIBS "/usr/local/opencv320/lib")

c.将opencv的include文件夹包含进来

include_directories(SYSTEM ${OpenCV_INCLUDE_DIRS} /usr/local/opencv320/include)
find_package(OpenCV 3.2)

d.注释原有代码中find_package的cv_bridge

find_package(catkin REQUIRED COMPONENTS
        roscpp
        std_msgs
        nav_msgs
        visualization_msgs
        tf
        #cv_bridge
        )

e.添加cv_bridge的include文件夹路径

include_directories(
    include
    SYSTEM
    ${catkin_INCLUDE_DIRS}
    ${Eigen3_INCLUDE_DIRS}
    ${PCL_INCLUDE_DIRS}
    #${OpenCV_INCLUDE_DIRS} 可以注释,也可不注释
    ${cv_bridge_INCLUDE_DIRS}
)

f.链接cv_bridge的库

target_link_libraries(test_fiesta
        ${catkin_LIBRARIES}
        ${PCL_LIBRARIES}
        ${OpenCV_LIBS}
        ${cv_bridge_LIBRARIES}
        )

此处一定要小心 cv_bridge 对应的库写法!!!
我之前把 LIBRARIES写成了LIBS,找了好几天才发现问题,在此特地记录一下,希望大家以后不要犯同样的错误

最后的CMakeLists.txt就是如下的样子:
opencv3.2.0,linux,ubuntu

之后就可以正常catkin_make了,source路径即可完美运行。
opencv3.2.0,linux,ubuntu

新人小徐的第一篇博客,如有侵权,必定删改。同时感谢一路陪伴指导的龙哥。

Peace & Love~文章来源地址https://www.toymoban.com/news/detail-763299.html

到了这里,关于ubuntu20.04安装opencv 3.2.0以及cv_bridge踩坑记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 看这篇就够了——opencv与libopencv与cv_bridge的安装与使用

      OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉处理开源软件库,是由Intel公司俄罗斯团队发起并参与和维护,支持与计算机视觉和机器学习相关的众多算法。OpenCV基于C++实现,同时提供python, Ruby, Matlab等语言的接口。OpenCV-Python是OpenCV的Python API,结合

    2024年02月03日
    浏览(46)
  • 解决ROS的cv_bridge与自己安装的opencv的版本冲突的问题

    如果用ROS的topic传输图片,需要用到cv_bridge,这是个ros自带的opencv中的库,如果此时项目中引用了自己安装的opencv,自己安装的opencv会与ros自带的opencv中的cv_bridge冲突。编译时弹出 warning: libopencv_imgproc.so.407, needed by /usr/local/lib/libopencv_features2d.so.4.7.0, may conflict with libopencv_imgp

    2024年02月03日
    浏览(41)
  • 【carla】ubuntu20.04 编译carla-ros-bridge 安装过程、报错及其解决方法

    下载后进行catkin_make会报错3个错误 Create a catkin workspace: Clone the ROS Bridge repository and submodules: Set up the ROS environment according to the ROS version you have installed: Install the required ros-dependencies: 安装rosdepc,然后运行: 7.创建虚拟环境 8.安装pip依赖 方法1:在conda环境中安装empy: conda instal

    2024年02月11日
    浏览(60)
  • Ubuntu20.04安装OpenCV

    开源计算机视觉(OpenCV)是一个主要针对实时计算机视觉的编程函数库。 OpenCV的应用领域包括:2D和3D功能工具包、运动估计、面部识别系统、手势识别、人机交互、移动机器人、动作理解、物体识别、分割和识别、实体影像立体视觉:来自两个摄像机的深度感知、运动跟踪、增强

    2023年04月09日
    浏览(56)
  • 在 Ubuntu 20.04 上安装 OpenCV

    OpenCV 在 Ubuntu 20.04 软件源中可用。想要安装它,运行: 上面的命令将会安装所有必要的软件包,来运行 OpenCV: 通过导入 cv2 模块,并且打印 OpenCV 版本来验证安装结果: 输出: 1.安装构建工具和所有的依赖软件包: 2.克隆所有的OpenCV 和 OpenCV contrib 源 3.下载完成,创建一个临

    2024年01月23日
    浏览(48)
  • ubuntu20.04安装opencv4.7

    执行以下命令安装最新的cmake https://opencv.org/releases/ 1. 将下载的文件【opencv-4.7.0.zip】解压到需要安装的目录,解压后会得到【opencv-4.7.0】文件夹。 2. 打开【opencv-4.7.0】文件夹,并新建build文件夹。 (我是装在/home/user_name/app目录下,其中user_name是我的用户名) 打开刚才新建的

    2024年02月02日
    浏览(68)
  • ubuntu20.04安装opencv4库

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 opencv官方网站:https://opencv.org/releases/ 终端输入: 在最下面添加: 若显示如下,则成功安装。 上述步骤运行无误后,基本完成了 opencv 4 的安装,接下来使用以下命令验证: 问题解析: 未安装apache an

    2024年02月21日
    浏览(59)
  • Ubuntu20.04安装c++版本的OpenCV

    https://www.jianshu.com/p/3c2fc0da7398 https://docs.opencv.org/4.5.3/d7/d9f/tutorial_linux_install.html https://www.jianshu.com/p/3c2fc0da7398 https://www.cnblogs.com/yongy1030/p/10293178.html 其实官网步骤已经非常清楚了,只不过是英文的,可能有小伙伴看不下去,所以不妨看看这篇博客。 进入官网,选择你要下载的

    2024年02月12日
    浏览(43)
  • Ubuntu 20.04源码编译安装OpenCV 4.7.0

    目录 前言 1--下载OpenCV 4.7.0 2--编译安装OpenCV 4.7.0 3--测试 3-1--查看安装的版本 3-2--基于VSCode和CMake测试项目 4--报错解决(重点!) 4-1--OpenCV与FFmpeg不兼容 4-2--LIBTIFF报错 4-3--系统与Anaconda的库lib冲突 4-4--测试时CMake的find_package报错         建议先看第4节相关报错及解决方法,再

    2024年01月16日
    浏览(72)
  • Ubuntu 20.04 安装opencv 和 +opencv_contrib教程

    首先opencv和opencv_contrib下载版本要一致!!!! 我是以opencv3.4.5为例 opencv下载官网:Releases - OpenCV opencv_contirb网址:GitHub - opencv/opencv_contrib: Repository for OpenCV\\\'s extra modules 源地址:GitHub - opencv/opencv_contrib: Repository for OpenCV\\\'s extra modules 以上即是在Ubuntu上下载好opencv和opencv_contrib

    2024年02月11日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包