IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> ROS调用摄像头 -> 正文阅读

[人工智能]ROS调用摄像头

前言

开始学习ROS了。前几天也看过一些ROS基础的操作,但是如何实战还是完全不会,因此今天先做一个简单的小练习,使用ros调用电脑的摄像头。

virtualbox摄像头配置

我使用的虚拟机是virtualbox,可能大多数小伙伴使用的都是vmware。
vmware中调用摄像头貌似可以直接调用了,比较简单,可以看看这篇博客:
VMware虚拟机中调用本机摄像头详解
这里写一下virtaulbox配置摄像头的步骤。首先你要下载扩展包。进入官网下载界面:virtaulbox官网。下载与安装virtualbox版本一致的扩展包。
在“管理->全局设定->扩展”中点击添加新包,选择下载的扩展包。
在这里插入图片描述
随后,在“设备->摄像头”一栏中,就可以选择需要的摄像头了~
在这里插入图片描述
在Linux下,一切皆文件,摄像头也不能例外。摄像头位于/dev下,因此使用命令:

ls /dev/video0

就可以看到虚拟机中的摄像头了。
在这里插入图片描述
参考博客:VirtualBox 调用摄像头

ROS调用摄像头

使用摄像头,需要先安装对应的ros包,我用的是noetic版本,因此:

sudo apt-get install ros-noetic-usb-cam

然后看看ROS-WIKI上对于这个包的介绍:

The usb_cam_node interfaces with standard USB cameras (e.g. the Logitech Quickcam) using libusb_cam and publishes images as sensor_msgs::Image. Uses the image_transport library to allow compressed image transport.
publish_node:
~<camera_name>/image_raw (sensor_msgs/Image)

我们首先启动usb_cam:

roslaunch usb_cam usb_cam-test.launch

此时,发现能够出现摄像头画面,但是花屏了。花屏最常见的原因是编解码问题,打开launch文件:

roscd usb_cam #进入ros包
cd launch
vim usb_cam-test.launch

launch文件内容如下,因为是新手,我们来解读一下:

<launch>
  <node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" >
    <param name="video_device" value="/dev/video0" />
    <param name="image_width" value="640" />
    <param name="image_height" value="480" />
    <param name="pixel_format" value="yuyv" />
    <param name="camera_frame_id" value="usb_cam" />
    <param name="io_method" value="mmap"/>
  </node>
  <node name="image_view" pkg="image_view" type="image_view" respawn="false" output="screen">
    <remap from="image" to="/usb_cam/image_raw"/>
    <param name="autosize" value="true" />
  </node>
</launch>

name是节点名,usb_cam,pkg是包名。类型是usb_cam_node,说明执行文件是C++写的,output直接输出到控制台。接下来是一些图像参数,我们注意到pixel_fomat是yuyv,而我们摄像头的输出是mjpeg4格式的,因此把这里改成mjpeg4即可。
请添加图片描述
这样就可以在ros下使用摄像头了。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-19 11:52:51  更:2021-10-19 11:54:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 8:41:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码