Ubuntu18.04 + ROS 终端在 /usr/local 路径下安装opencv4.1.1

内容

1.安装依赖包

2.下载安装包

三、安装OpenCV

四. 配置OpenCV环境

五、opencv版本测试

六、配置ros有默认3.2版本改为自己安装的4.1.1版本

1.安装依赖包

    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 # 处理图像所需的包
    sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
    sudo apt-get install libxvidcore-dev libx264-dev # 处理视频所需的包
    sudo apt-get install libatlas-base-dev gfortran # 优化opencv功能
    sudo apt-get install ffmpeg

2.下载安装包

自己的需求是将 ROS melodic 默认安装的 opencv3.2.0 版本改为自己需求的opencv4.1.1版本。在 github 上下载对应的opencv版本和opencv_contrib版本,我下载的是opencv4.1.1,所以contrib也要下载4.1.1版本。注意!版本一定要对应!!!

下载链接:opencv链接、opencv_contrib链接

三、安装OpenCV

打开终端, cd 到opencv 解压位置

sudo mv opencv-4.1.1 /usr/local
 
cd /usr/local/opencv-4.1.1
 
sudo mkdir build
 
cd build
 
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_TBB=ON \
-D WITH_V4L=ON \
-D WITH_GTK=ON \
-D WITH_OPENGL=ON \
-D WITH_VTK=ON \
-D OPENCV_GENERATE_PKGCONFIG=YES ..
 
sudo make -j4
 
sudo make install

四. 配置OpenCV环境

(1)安装成功后还需要设置opencv的环境变量。打开文件:

sudo gedit /etc/ld.so.conf.d/opencv.conf

(2)将以下内容添加到最后:(空白文件放在首行即可)

/usr/local/lib

(3)配置库:

sudo ldconfig

(4)更改环境变量:

sudo gedit /etc/bash.bashrc

在文件末尾添加:

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

保存,并退出,至此,opencv-4.1.1 理论上安装成功。

五、opencv版本测试

检查配置是否成功:

pkg-config --modversion opencv4 

Ubuntu18.04 + ROS 终端在 /usr/local 路径下安装opencv4.1.1

测试opencv-4.1.1是否可以正常使用:

cd /opencv安装路径/samples/cpp/example_cmake
     
cmake .
     
make
     
./opencv_example

运行结果会调用当前摄像头,图像窗口会出现  Hello OpenCV 字样水印。

六、配置ros有默认3.2版本改为自己安装的4.1.1版本

此时,需要配置 ros的cv_bridge配置文件,否则可能会报错。

    cd /opt/ros/melodic/share/cv_bridge/cmake/
    sudo gedit cv_bridgeConfig.cmake 

修改文本中所有 usr/include/opencv (100行附近,共两处)如下图所示,红框为修改头文件目录指定到自己安装的Opencv目录下,蓝框为修改为自己安装的Opencv库文件路径,然后保存即可:

Ubuntu18.04 + ROS 终端在 /usr/local 路径下安装opencv4.1.1

与头文件直接写入目录的方式不同,库文件是将文件本身也写入到配置文件中。而OpenCV的库文件有很多种,如下图所示。通常都将core、highgui、imgproc等常用的库文件写入到配置文件中,万一遇到要用的函数的库文件没有包含在配置文件中只要手动添加就可以。

Ubuntu18.04 + ROS 终端在 /usr/local 路径下安装opencv4.1.1

保存修改cv_bridge的配置文件结束后,我们只需要在工程的CMakeLists.txt文件中的find_package加入cv_bridge就能够使用自己安装的OpenCV版本。

Ubuntu18.04 + ROS 终端在 /usr/local 路径下安装opencv4.1.1

编译运行,可以发现 ros 编译的是Opencv4.1.1版本(下图红框),但自己没有解决 warning 问题(下图蓝框)。测试过,ros可以正常使用,如有大佬知道如何解决warning问题,还请指点(自己搜到的是重装cv_bridge,目前自己还没勇气卸了cv_bridge,,,)

Ubuntu18.04 + ROS 终端在 /usr/local 路径下安装opencv4.1.1

版权声明:本文为博主Gene_2022原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/qq_38429958/article/details/123185284

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2022年2月28日 下午9:21
下一篇 2022年3月1日 下午9:25

相关推荐