当前位置: 首页 > news >正文

做网站哪个软件好用服务器

做网站哪个软件好用,服务器,建设工程类网站,wordpress多站点cdn在 Ubuntu 20.04 中,ROS Noetic 默认安装的 OpenCV 版本为 4.2.0。如果您需要确认系统中已安装的 OpenCV 版本,可以使用以下命令: sudo find / -iname "*opencv*"然而,许多开源算法都是基于 OpenCV 3 编写的&#xff0…

在 Ubuntu 20.04 中,ROS Noetic 默认安装的 OpenCV 版本为 4.2.0。如果您需要确认系统中已安装的 OpenCV 版本,可以使用以下命令:

sudo find / -iname "*opencv*"

然而,许多开源算法都是基于 OpenCV 3 编写的,如果要修改代码就非常麻烦。另一方面,一些程序可能可能又依赖高版本的OpenCV,比如4.5版本。这时就需要在系统中安装多个版本的OpenCV。

为了实现多个版本的共存,我们希望在不删除自带的 OpenCV 4 的情况下,编译安装 OpenCV 3 及其 contrib 库,并使得 cv_bridge 能够支持多版本。

本教程将介绍在不影响ROS中自带的 OpenCV 和 cv_bridge 的情况下,如何实现多版本 OpenCV 和 cv_bridge 的共存,并且将说明如何修改 CMakeLists 文件来找到指定版本的OpenCV和cv_bridge。本教程理论上对Ubuntu版本与ROS版本没有限制,并且对安装的OpenCV大版本(3或4)也没有要求。只需要注意OpenCV 3 的cv_bridge对应为melodic,而OpenCV 4则为noetic,在下载源码时选择对应版本即可。

0. 安装OpenCV依赖项

首先,更新源以确保系统处于最新状态:

sudo apt update

接着,安装所需的依赖项:

sudo apt-get install build-essential cmake git pkg-config libavcodec-dev libavformat-dev libswscale-dev libatlas-base-dev gfortran zlib1g-dev ccache autoconf automake libtool checkinstall

为了解决依赖问题,需要添加新的源。然后,安装 libjasper:

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

接下来,安装常用的图像工具包以及视频 I/O 包:

sudo apt-get install libjpeg-dev libjpeg8-dev libtiff5-dev libjasper-dev libpng-dev
sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

1. 编译 OpenCV 3 及其 contrib 库的源代码:

接下来,需要下载并编译 OpenCV 3 的源代码。可以从官方GitHub下载源代码,并按照以下步骤进行编译安装:

首先,下载 OpenCV 3 的源代码并切换到对应版本:

git clone https://github.com/opencv/opencv.git -b 3.4.14
mv opencv opencv3.4.14
cd opencv3.4.14

接着,下载 OpenCV contrib 模块(请注意版本的对应):

git clone https://github.com/opencv/opencv_contrib.git -b 3.4.14

然后,返回到 opencv 目录,并创建并进入 build 目录:

cd ../
mkdir build
cd build

接下来,配置 OpenCV 的编译选项:

cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \-DCMAKE_BUILD_TYPE=RELEASE \-DWITH_TBB=ON \-DWITH_V4L=ON \-DCMAKE_INSTALL_PREFIX=/usr/local/opencv3.4.14 \-DBUILD_opencv_vtk=OFF \-DWITH_VTK=OFF \..

执行完毕后你大概率会看到编译出现错误:

-- Configuring incomplete, errors occurred!
See also "/home/user/libraries/opencv3.4.14/build/CMakeFiles/CMakeOutput.log".
See also "/home/user/libraries/opencv3.4.14/build/CMakeFiles/CMakeError.log".

这里的错误来自于各种各样的依赖项没有找到或者没有安装,需要翻看报错信息来确定具体问题。可以百度/谷歌相关关键词(比如Could not find xxx)查找解决办法,这里只列举我遇到的一些依赖项问题:

--- Could NOT find PythonLibs (missing:  PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)
...
No package 'gstreamer-base-1.0' found
...
looking for ccache --not found
...
-- Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)

解决方法是安装 Python 相关的开发库、gstreamer 相关库、ccache、OpenBLAS 或者 Atlas 、JNI(Java Native Interface)……:

sudo apt-get install python-dev
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install ccache
sudo apt-get install liblapack-dev liblapacke-dev libopenblas-dev
sudo apt install default-jdk

最后,可能会遇到关于 vtkParseOGLExt 的错误,可以通过复制 vtk7 文件解决:

sudo cp ./vtk7 ./vtk

完成以上步骤并且确认没有任何依赖性的问题之后,可以继续进行编译并安装 OpenCV:

make -j12
sudo make install

最好不要满线程!!!可能会卡死。可以先用htop看自己电脑最高可以多线程,然后适当减少一些编译用的线程数

2. 安装cv_bridge

cv_bridge 是用于在ROS和OpenCV图像之间进行转换的重要工具。在ROS Noetic中,默认的 cv_bridge 链接到了 OpenCV 4。为了确保ROS的完整性,并且保持 OpenCV 4 的正常使用,我们不建议卸载默认的 cv_bridge。

为了额外安装适配于 OpenCV 3 的 cv_bridge,首先需要从 cv_bridge 的 GitHub 仓库下载 ros_melodic 版本的 cv_bridge:cv_bridge GitHub

下载后,进入 vision_opencv-melodic/cv_bridge 目录,并修改其中的 CMakeLists.txt 文件,有以下两个目的:
(1)将寻找 Boost 的方式改为不区分 Python 版本,防止编译时找不到 boost_python3
(2)添加对自己安装的 OpenCV 3 的路径的设置,防止找不到与 OpenCV 版本兼容的配置文件

具体修改方式如下,注意修改的是下载的cv_bridge中CMakeLists.txt。
在文件开头添加以下内容

cmake_minimum_required(VERSION 2.8)
project(cv_bridge)# 添加下面的内容
set(OpenCV_DIR /usr/local/opencv3.4.14/share/OpenCV)
set(OpenCV_INCLUDE_DIRS "/usr/local/opencv3.4.14/include")
set(OpenCV_LIBRARIES "/usr/local/opencv3.4.14/lib")

在文件中找到以下代码:

if(NOT ANDROID)find_package(PythonLibs)if(PYTHONLIBS_VERSION_STRING VERSION_LESS 3)find_package(Boost REQUIRED python)else()find_package(Boost REQUIRED python3)endif()
else()find_package(Boost REQUIRED)
endif()

修改为:

if(NOT ANDROID)find_package(PythonLibs)find_package(Boost REQUIRED python)
else()find_package(Boost REQUIRED)
endif()

完成以上修改后,保存并退出 CMakeLists.txt 文件。

接下来,需要在 vision_opencv-melodic/cv_bridge 目录中编译 cv_bridge:

cd vision_opencv-melodic/cv_bridge
mkdir build
cd build
cmake ..
make -j12

最后,使用 make install 命令将 cv_bridge 安装到系统中:

sudo make install DESTDIR=/usr/local/cv_bridge_melodic

这样就完成了 cv_bridge 的安装。现在,您可以在您的 ROS 系统中同时使用适配于 OpenCV 3 的 cv_bridge 和系统自带的 cv_bridge(链接到 OpenCV 4)了。

3. 修改ROS包中的CMakeLists.txt来指定OpenCV和cv_bridge版本

最后,需要在 ROS 包的 CMakeLists.txt 文件中设置 OpenCV 和 cv_bridge 的链接路径。可以按照以下方式设置:

# 在 project(xxx) 后面添加以下两行
set(cv_bridge_DIR /usr/local/cv_bridge_melodic/usr/local/share/cv_bridge/cmake)
set(OpenCV_DIR /usr/local/opencv3.4.14/share/OpenCV)

需要注意的是,对所有使用了 OpenCV 或者 cv_bridge 的 CMakeLists 都需要进行相应的修改,以确保正确链接到指定版本的库。

本教程到此结束。如果在安装过程中遇到任何问题,欢迎在评论中提出。

http://www.zhongyajixie.com/news/30374.html

相关文章:

  • html5可不可以建设手机网站seo文章关键词怎么优化
  • 南昌新建网站建设网络营销的概念及特征
  • 江西省建设监理协会网站google chrome网页版
  • 凡客诚品网站设计百度推广云南总代理
  • 怎么制作免费网站今日军事新闻报道
  • 电子行业网站seo线上培训班
  • 什么网站可以做推广浙江疫情最新情况
  • 移动商城网站开发批量外链工具
  • 用织梦做企业网站关键词工具软件
  • 做网站潜江西安网站建设方案优化
  • 建设银行泰州分行网站视频号视频怎么看下载链接
  • 王也道长微信头像厦门seo外包平台
  • 温州市网站制作公司网站seo优化怎么做
  • 哪些园林网站可以做外链北京网站优化效果
  • 推荐做木工的视频网站信息流优化师是什么
  • 做网站哪里比较好网上店铺的推广方法有哪些
  • 中文网站建设公司百度推广一年大概需要多少钱
  • 做音乐网站多少钱知名网络软文推广平台
  • 做网站的视频教学如何对产品进行推广
  • 做网站常熟网站搜索排名优化
  • 北京好的做网站的公司哪家好十大看免费行情的软件下载
  • 汝阳网站建设爱站长
  • 代做网站名称优化电商网站
  • 为什么网站突然打不开seo是什么工作
  • 国家市场监督管理总局班子东莞百度快速排名优化
  • 零食网站建设前的市场分析网络维护
  • 58同城哈尔滨网站建设哪家网络公司比较好
  • 淘宝客网站做百度推广完善的seo网站
  • wp做图网站茂名网站建设制作
  • 衣服网站建设日程表百度一下浏览器