ubuntu22.04,ros2使用自带opencv读取图片

这篇具有很好参考价值的文章主要介绍了ubuntu22.04,ros2使用自带opencv读取图片。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

从网上找了很久的ros2如何使用自带的opencv库或者自定义安装opencv库的教程,自己看的云里雾里的,跟着配置走下来依旧是不能使用,出现的最多的问题,就是找不到头文件或者undefined reference to 'cv::imread(std::cxxll::basic string<char, std::char traits, std::allocator > const&, int)'这一类的未定义错误。
而且因为跟着教程安装opencv,把我ros2自带的opencv给覆盖了,然后又花了点时间重新安装了ros2.
之前跟着赵虚左老师在学习ros2,老师说有什么问题可以去ros2的论坛搜索,可能会有答案,我就抱着试试看的态度去搜索了,果然给我搜到了如何使用ros2自带的opencv问题的解决方法。

1、首先验证一下ros2是否安装了opencv

在终端中运行:
pkg-config --modversion opencv4
发现会获得opencv的版本号,说明opencv已经存在。

2、要将opencv和ros2集成

在创建ros2功能包的时候,添加opencv依赖项:
ros2 pkg create my_ros2_opencv_pkg --dependencies rclcpp OpenCV
或者
ros2 pkg create my_ros2_opencv_pkg --dependencies rclcpp std_msgs sensor_msgs cv_bridge image_transport OpenCV
这两条指令后边可以加上 --node-name 节点名称

3、在.cpp文件中,添加头文件:

#include <cv_bridge/cv_bridge.h>
#include <image_transport/image_transport.hpp>
#include <opencv2/opencv.hpp>

4、配置CMakeLists.txt

如果生成功能包的时候,加了–node-name,就不需要配置CMakeLists.txt文件了。
add_executable(my_ros2_opencv_node src/name_of_your_cpp_file.cpp)
ament_target_dependencies(my_ros2_opencv_node rclcpp std_msgs sensor_msgs cv_bridge image_transport OpenCV)
install(TARGETS
my_ros2_opencv_node
DESTINATION lib/${PROJECT_NAME}
)
原文链接.
(侵删)

5、添加图片的路径

在使用imread函数的时候,需要添加图片的路径,找到需要读取的图片,鼠标右键,选择“属性”,找到“基本”->“上级文件夹”,选择之后,复制粘贴到程序中,然后将/改为//就可以实现读图了。
程序如下:

#include "rclcpp/rclcpp.hpp"
#include <cv_bridge/cv_bridge.h>
#include <image_transport/image_transport.hpp>
#include <opencv2/opencv.hpp>

using namespace cv;
int main(int argc, char ** argv)
{
  (void) argc;
  (void) argv;

  printf("hello world pkg00_opencv package\n");
  Mat m=imread("//home//***//image//01.jpg");  //路径需要自己修改成自己电脑中的
  RCLCPP_INFO(rclcpp::get_logger("rclcpp"),"size:%d,%d",m.rows,m.cols);
  imshow("01",m);
  waitKey(0);
  return 0;
}

ubuntu22.04,ros2使用自带opencv读取图片文章来源地址https://www.toymoban.com/news/detail-497432.html

到了这里,关于ubuntu22.04,ros2使用自带opencv读取图片的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • (Ubuntu22.04 Jammy)安装ROS2 Humble

    提示:以下内容是已经安装了ubuntu22.04 下进行安装ros2 请确保区域设置支持UTF-8,我们使用以下设置进行测试。 需要将ROS2 apt存储库添加到您的系统中,首先确保Ubuntu Universe存储库已启用。 接着添加带有apt的ROS 2 GPG密钥 然后将存储库添加到源列表中 设置存储库后,更新您的a

    2024年02月01日
    浏览(33)
  • 树莓派4B+Ubuntu22.04 Server安装ROS2 Humble

    通过本章学习,了解ROS2相关版本,能够熟练掌握ROS2安装相关操作,最终让 Talker-listener 实例跑起来。 参考网站: ROS2官网:https://www.ros.org/ ROS2 Humble版本:https://docs.ros.org/en/humble/Installation.html 注意:如果对ROS已经有一定的了解,可以忽略此章节。 更多更具体的ROS介绍请查看

    2024年02月11日
    浏览(27)
  • ubuntu22.04一键安装ROS1和ROS2(超简单,亲测可靠)

    这几天在安装ros,然后发现可以一键安装,话不多说,直接终端输入如下指令 回车之后系统会自动安装ros 详见鱼香ROS

    2024年02月11日
    浏览(48)
  • 在ubuntu22.04(LTS)上搭建ROS2+PX4+Gazebo的联合仿真环境

    说明:本案例仅仅是跑通了ROS2+PX4+Gazebo的联合仿真,还没有实现使用键盘控制无人机飞行(以后会补充)。 1.准备工作 2.安装PX4仿真工具链 3.安装ROS2 4.安装ROS2的相关依赖 5.安装XRCE-DDS代理(AGENT) 6.创建ROS2工作空间并生成代码样例 7.运行XRCE代理 8.编译PX4固件并运行 (1)确保

    2024年04月29日
    浏览(65)
  • Ubuntu22.04源码安装ROS-noetic(ROS1非ROS2),编译运行VINS-MONO

    由于22.04默认安装ROS2,但很多仓库都是基于ROS1的,不想重装系统,参考这两个博客安装了ROS-noetic: 博客1. https://blog.csdn.net/Drknown/article/details/128701624 博客2. https://zhuanlan.zhihu.com/p/418227536 我的库版本(实测可行): eigen:3.3.7 ceres:1.14.0(用2.系列版本的编译时需要把C++版本设

    2024年02月02日
    浏览(38)
  • 虚拟机 + Ubuntu22.04 + ros2 (humble) colcon build turtlebot3_node失败的解决方案

    在虚拟机Ubuntu22.04中安装了ROS2(humble),下载turtlebot3。在 colcon build --symlink-install 编译的过程中turtlebot3_Fake_node一直失败,无法正常运行,影响后面的仿真测试。 查阅相关资料后发现问题主要出在 缺少ROS2 相关依赖Ubuntu 版本匹配 。 (1)首先通过 lsb_release-a 查看系统版本 查到

    2024年02月09日
    浏览(30)
  • Ubuntu 22.04安装和使用ROS1可行吗

    可行。 ROS1可以一直使用下去的 ,这一点不用担心。Ubuntu会一直维护的。 Debian发行版^_^  AI:在Ubuntu 22.04上安装ROS1是可行的,但需要注意ROS1对Ubuntu的支持只到20.04。因此,如果要在22.04上安装ROS1,只能从源码编译安装。 目前的机器人相关操作系统还是 面向开发者 的(devel

    2024年02月14日
    浏览(34)
  • 如何像正常使用ROS一样使用Docker ROS?Ubuntu22.04在docker中安装noetic版本ROS

    自从买了新电脑,遇到的麻烦接连不断。先是安装Ubuntu系统安装不上,安装完成之后网卡、触控板等硬件都没有打上驱动,折腾了老半天,把ubuntu的内核升级到了Ubuntu20.04所支持的最高版本,然而还是没有解决驱动的问题,遂一气之下将系统升级为了Ubuntu22.04,这一次安装完系

    2024年04月17日
    浏览(36)
  • Ubuntu22.04安装ROS

    在安装ROS之前,需要先安装Ubuntu22.04操作系统。您可以从Ubuntu官网下载Ubuntu22.04的最新版本镜像文件,并创建一个可启动的USB。您可以参考以下步骤: 在安装ROS之前,需要先安装Ubuntu22.04操作系统。您可以从Ubuntu官网下载Ubuntu22.04的最新版本镜像文件,并创建一个可启动的USB。

    2024年02月10日
    浏览(38)
  • ubuntu22.04安装ros教程

    安装 ROS 是一个比较复杂的过程,不同版本的 Ubuntu 系统对应的 ROS 版本也不尽相同,因此需要认真阅读官方教程。 下面是在 Ubuntu 22.04 上安装 ROS 的一般步骤: 更新系统:打开终端,运行以下命令:

    2024年02月16日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包